繁体   English   中英

Java正则表达式用于$替换

[英]Java regex for $ replacement

问题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。
对于这些组合,Silimarly我也尝试以下代码

[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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM