我对正则表达式世界还很陌生,我正在为这个问题而苦苦挣扎。我想删除字符串中的特定单词。我能够以这种方式删除最后n个字符:
gsub('.{5}$', '', mystring)
像这样
mystring = "HOBBIES_1_001_CA_1"
newstring= "HOBBIES_1_001"
现在,我想以这种方式删除中央子字符串:
mystring = "HOBBIES_1_001_CA_1"
newstring= "HOBBIES_CA_1"
任何帮助是感谢提前感谢!
我们可以使用,substring
因为它会更快
substring(mystring, 1, nchar(mystring)-5)
[#1] "HOBBIES_1_001"
要删除中间字符串,请匹配_
后跟一个或多个数字(\\d+
),再匹配_
和数字,并替换为空白(""
)
sub("_\\d+_\\d+", "", mystring)
#[1] "HOBBIES_CA_1"
另一个选择是捕获子字符串并替换为反向引用
sub("^([^_]+)_\\d+_\\d+", "\\1", mystring)
#[1] "HOBBIES_CA_1"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句