【发布时间】:2020-04-08 20:49:41
【问题描述】:
如何根据非字母分隔符反转字符串?我怀疑我的正则表达式可能是问题所在。
String fileContent = "Joe'); MAKE TEST random;--";
String[] splitWords = fileContent.split("[^a-zA-Z0-9']+");
StringBuilder stringBuilder = new StringBuilder();
for (String word : splitWords) {
int idx = fileContent.indexOf(word, stringBuilder.length());
String delim = fileContent.substring(stringBuilder.length(), idx);
stringBuilder.append(delim);
StringBuilder output = new StringBuilder(word).reverse();
stringBuilder.append(output);
}
return stringBuilder.toString();
当前输出:'eoJ); EKAM TSET modnar
所需输出:eoJ'); EKAM TSET modnar;--
【问题讨论】:
-
您的测试用例以分隔符结尾。因此最后一个 ;-- 没有附加。
标签: java regex string algorithm reverse