第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ReplaceAll 當(dāng)它不是字母字符時

ReplaceAll 當(dāng)它不是字母字符時

慕妹3146593 2023-03-23 15:42:28
我需要替換字符串中所有出現(xiàn)的單詞,當(dāng)它位于非字母字符(數(shù)字、空格等)之間或字符串的開頭或結(jié)尾時 $0。但是,當(dāng)我使用 replaceAll 時,我的 Regex 模式似乎不起作用。我嘗試了幾種在網(wǎng)上找到的解決方案,例如 Pattern.quote,但該模式似乎不起作用。但是,它在https://regexr.com/上完美運(yùn)行public static final String REPLACE_PATTERN = "(?<=^|[^A-Za-z])(%s)(?=[^A-Za-z]|$)";String patternToReplace = String.format(REPLACE_PATTERN, "a");inputString = inputString.replaceAll(Pattern.quote(patternToReplace), "$0");例如,對于字符串和單詞“a”:a car4is a5car我希望輸出是:$0 car4is $05car
查看完整描述

4 回答

?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊

只需從更改inputString.replaceAll(Pattern.quote(patternToReplace), "$0");為inputString.replaceAll(patternToReplace, "\\$0");


我已經(jīng)用這段代碼測試過:


public static final String REPLACE_PATTERN = "(?<=^|[^A-Za-z])(%s)(?=[^A-Za-z]|$)";

String patternToReplace = String.format(REPLACE_PATTERN, "a");

inputString = inputString.replaceAll(patternToReplace, "\\$0");

System.out.println(inputString);

輸出 :


$0 car4is $05car

希望這對你有幫助:)


查看完整回答
反對 回復(fù) 2023-03-23
?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊

你引用了錯誤的東西。你不應(yīng)該引用模式。您應(yīng)該引用"a"- 模式中應(yīng)該按字面意義對待的部分。

String patternToReplace = String.format(REPLACE_PATTERN, Pattern.quote("a"));

如果您永遠(yuǎn)不會在 的第二個參數(shù)中放置任何其他字母format,那么您根本不需要quote,因為字母在正則表達(dá)式中沒有特殊含義。

此外,$用作替換時具有特殊含義,因此您需要對其進(jìn)行轉(zhuǎn)義:

inputString = inputString.replaceAll(patternToReplace, "\\$0");


查看完整回答
反對 回復(fù) 2023-03-23
?
喵喵時光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗 獲得超7個贊

Pattern.quote()返回正則表達(dá)式文字,中間的所有內(nèi)容都被視為文本。

您應(yīng)該使用Matcher替換所有出現(xiàn)的字符串。除此之外,正如@Donat指出的那樣,$0它被視為正則表達(dá)式變量,因此您需要對其進(jìn)行轉(zhuǎn)義。

inputString = Pattern.compile(patternToReplace).matcher(inputString).replaceAll("\\$0");



查看完整回答
反對 回復(fù) 2023-03-23
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊

當(dāng)你想用替換字符串的匹配部分時"$0",你必須寫它
"\\$0"。這是因為$0有一個特殊的含義:匹配字符串。所以你自己替換字符串。

查看完整回答
反對 回復(fù) 2023-03-23
  • 4 回答
  • 0 關(guān)注
  • 204 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號