簡體   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