java - 反转分隔符之间的多个字符串

标签 java reverse

我需要替换带分隔符的字符串中的子字符串。比如(abc),(def)反转后应该是(cba),(fed)。

我尝试了以下代码,但它没有反转就返回了字符串。

String s = "(abc),(cdef)";
s =   s.replaceAll("\\(\\[.*?\\]\\)", 
             new StringBuilder("$1").reverse().toString());

最佳答案

替代方案:

String s = "(abc),(cdef),(ghij)", res = "";
Matcher m = Pattern.compile("\\((.*?)\\)").matcher(s);
while(m.find()){
    res += "(" + new StringBuilder(m.group(1)).reverse().toString() + "),";
}
if(res.length() > 0)
    res = res.substring(0,res.length()-1);
System.out.println(res);

打印:

(cba),(fedc),(jihg)

关于java - 反转分隔符之间的多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34619021/

相关文章:

javascript - 我可以以相反的顺序循环遍历 javascript 对象吗?

sql - 如何将字符串 'ab,cd,ef' 反转为 'ef->cd->ab'

java - 带用户输入的插入排序 double 组 - JAVA

swift - 使用 Swift 将 CLLocationCoordinate2d 转换为街道地址

java - 找不到 javax.servlet.GenericServlet 的类文件

java - 循环内变量的初始化

java - Android持久化有什么用?

java - chalice : getting exception while using Jackson API

java - Gradle 包不存在

java - 如何递归地将栈顶元素交换到栈底