我正在尝试替换String
. 假设字符串是:
"yaaaaaaaay:axaxaxaxa:yaaaaaaay"
我希望Java改变这一切a
后:
,直到下一次:
来X
。所以它看起来像这样:
"yaaaaaaaayXxXxXxXxXyaaaaaaay"
我尝试了以下操作,它确实将所有内容替换a
为X
.
public static String replaceMiddle(String input, char divider) {
return input.replace( "a", "X");
}
可以使用正则表达式做这样的事情
public static String replaceMiddle(String input, char divider) {
String result = input;
Matcher matcher = Pattern.compile(":(\\w+):").matcher(input);
if(matcher.find()){
String mid = matcher.group(1).replace( "a", "X");
result = matcher.replaceAll(":" + mid + ":");
}
return result;
}
不完全确定您的使用,divider
但我认为您打算像这样使用它:
public static void main (String[] args) {
String input = "yaaaaaaaay:axaxaxaxa:yaaaaaaay";
System.out.println(replaceMiddle(input, ':'));
}
public static String replaceMiddle(String input, char divider) {
String result = input;
String regex = divider + "(\\w+)" + divider;
Matcher matcher = Pattern.compile(regex).matcher(input);
if(matcher.find()){
String mid = matcher.group(1).replace( "a", "X");
result = matcher.replaceAll(divider + mid + divider);
}
return result;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句