【发布时间】:2018-05-23 23:26:39
【问题描述】:
我正在尝试分析一些文本,我需要交换一个字符串中的两个子字符串,例如在下面的文本中我想交换“很高兴见到你”和“你好吗”
Hi nice to see you? I'm fine Nice! how are you some other text
所以结果应该是:
Hi how are you? I'm fine Nice! nice to see you some other text
首先我编写了这个方法,并且在这个简单的例子中运行良好:
public static String Swap(String source, String str1, String str2) {
source=source.replace(str1, str2);
source=source.replaceFirst(str2, str1);
return source;
}
我需要将此方法用于更复杂的文本,例如以下文本,但由于 replaceFirst 使用正则表达式,因此无法使用我的方法进行交换。
f(f(x))*g(g(x))
我想交换 f(x) 和 g(x),但它不会说话。
还有其他方法吗?
【问题讨论】:
-
您可以使用
Pattern.quote()解决正则表达式问题。