3 回答

TA貢獻1851條經驗 獲得超3個贊
replaceAll您可以按以下順序使用:
myString = myString
.replaceAll("\\b1\\b", "one") // replace 1 by one
.replaceAll("\\b2\\b", "two") // replace 2 by two
.replaceAll("\\s*\\d+", ""); // remove all digits
//=> Happy New Year, it's one January now,two January tommorow
此外,在替換時使用字邊界1并2避免將這些數字作為其他數字的一部分進行匹配也很重要。

TA貢獻1833條經驗 獲得超4個贊
您可以對正則表達式模式在andString#replaceAll
兩側查找數字的位置進行兩次調用:1
2
public?String?cleanNumber(String?myString)?{ ????return?myString.replaceAll("(?<!\\d)1(?!\\d)",?"one") ???????????????????.replaceAll("(?<!\\d)2(?!\\d)",?"two"); }
輸出:
Happy?New?Year?2019,?it's?one?January?now,two?January?tommorow

TA貢獻1876條經驗 獲得超5個贊
首先替換一位數的 1 和 2,然后刪除所有其他數字
public String cleanNumber( String s ){
? s = s.replaceAll( "(\\D)1(\\D)", "$1one$2" ).replaceAll( "(\\D)2(\\D)", "$1two$2" );
? return( deleteChars.apply( s, "0123456789" ) );
}
String myString = "Happy New Year 2019, it's 1 January now,2 January tommorow";
cleanNumber( myString );? // Happy New Year , it's one January now,two January tommorow
添加回答
舉報