我正在进行Java CodingBat练习。 这里 是我刚完成的一个练习:
我的问题与正则表达式有关。我想知道是否可以使用正则表达式语句来实现上述操作,如果可以,那么如何实现呢?
下面是我的代码,它可以正常工作:给定一个字符串和一个非空单词字符串,返回由每个单词出现前后的字符组成的字符串。忽略没有单词前后字符的情况,并且如果一个字符在两个单词之间,则可以包含两次。
public String wordEnds(String str, String word){
String s = "";
String n = " " + str + " "; //To avoid OOB exceptions
int sL = str.length();
int wL = word.length();
int nL = n.length();
int i = 1;
while (i < nL - 1) {
if (n.substring(i, i + wL).equals(word)) {
s += n.charAt(i - 1);
s += n.charAt(i + wL);
i += wL;
} else {
i++;
}
}
s = s.replaceAll("\\s", "");
return s;
}
我的问题与正则表达式有关。我想知道是否可以使用正则表达式语句来实现上述操作,如果可以,那么如何实现呢?
abcXY1XYijk
在匹配XY
时将具有cXY1
和1XYi
作为组。 - Tim Biegeleisenint a = 5, b = 3; int sum = a + b;
иѕ“е‡єпјљsumзљ„еЂјдёє8гЂ‚
- vkschatAt
是错误的。 - tchrist