问题1。
我正在尝试将字符串从“(a) 到 (b) 该行正确”更改为“(a) 2 (b) 该行正确”。为此,我正在使用此代码,但它不符合我的要求
strtargetsentence=strtargetsentence_.replaceAll"([\(]([A-Za-z0-9])[\)][ ](to|and|or)[ ][\(]([A-Za-z0-9])[\)])","([\(]([A-Za-z0-9])[\)][ ](2|&|aur)[ ][\(]([A-Za-z0-9])[\)])"
同样我也想做这些组合
(a) to (b)--->(a) 2 (b)
(b) to (e)--->(b) & (e)
(1) to (2)--->(1) aur (2)
问题2。
同样,对于这些组合,我也尝试使用以下代码
[a] we are going ---->[a] we are going
1)we are going---->1)we are going
strtargetsentence=strtargetsentence_.replaceAll("([\\[|\\(])?([0-9A-Za-z]+)([\\.|\\)|\\]?])", "$1$2$3");
最佳答案
我认为你应该编写几个正则表达式替换。对于问题 1,可能会产生如下三个替换语句:
String strtargetsentence_ = "(a) to (b)";
String pattern1 = "(\\(\\w\\)) to (\\(\\w\\))";
String pattern2 = "(\\(\\w\\)) and (\\(\\w\\))";
String pattern3 = "(\\(\\w\\)) or (\\(\\w\\))";
String strtargetsentence=strtargetsentence_.replaceAll(pattern1,"$1 2 $2")
.replaceAll(pattern2,"$1 & $2")
.replaceAll(pattern3,"$1 aur $2");
System.out.println(strtargetsentence);
您的第二个问题的替代可能如下:
String strtargetsentence=strtargetsentence_.replaceAll("(\\[?\\w)(\\]|\\))( ?.*)", "$1$2$3");
关于用于 $ 替换的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925119/