如何在java中使用正则表达式更改匹配子字符串的前缀和后缀
我想(在Java中)在字符串中找到任何以sayaba
开头,以sayaca
结尾的子字符串,其中它们之间有一个或多个非空白字符
例如,“blingblangabablahacablingblang
将找到子字符串abablahaca
然后我想替换这些子字符串中的每一个,将开始部分修改为b
,将结束部分修改为ca
,但保留内部的blah
例如“blingblangabablahacablingblang
将更改为blingblangbblahcablingblang
”
有什么方法可以用String来实现吗。replaceAll()?原始字符串中有许多实例需要更改
谢谢你的帮助
# 1 楼答案
简单的if字符串有什么问题。startsWith()和string。endsWith()然后替换子字符串,然后开始和结束,然后重建新字符串
# 2 楼答案
你可以试试:
或者
# 3 楼答案
我不知道Java,但正则表达式应该简单地替换'aba(+?)“aca”和“b$1ca”
# 4 楼答案
如果保证
aba
和aca
在给定字符序列中都是唯一的,则可以使用良好的旧String#replace
而不是正则表达式:# 5 楼答案
尝试以下模式:
aba[a-z]*aca