我有以下字符串字符串替換功能
String str = "replace :) :) with some other string";
我想替換的:)
第一次出現與其他一些字符串
而且我用str.replaceFirst(":)","hi");
它提供了以下異常
「無與倫比的關閉」)「」
我試過用replace
函數,但是它取代了所有的:)
。
我有以下字符串字符串替換功能
String str = "replace :) :) with some other string";
我想替換的:)
第一次出現與其他一些字符串
而且我用str.replaceFirst(":)","hi");
它提供了以下異常
「無與倫比的關閉」)「」
我試過用replace
函數,但是它取代了所有的:)
。
Apache Jakarta Commons通常是這類問題的解決方案。在這種情況下,我會看看commons-lang,特別是StringUtils.replaceOnce()。
replaceFirst
方法將正則表達式作爲其第一個參數。由於)
是正則表達式中的特殊字符,因此您必須引用它。請嘗試:
str.replaceFirst(":\\)", "hi");
需要雙反斜槓,因爲雙引號字符串也使用反斜槓作爲引號字符。
replaceFirst()的第一個參數是一個正則表達式,而不僅僅是一個字符序列。在正則表達式中,缺口具有特殊意義。你應該逃避paranthesis這樣的:
str = str.replaceFirst(":\\)", "hi");
我想也是用這個,但它拋出同樣的異常...... – user25778 2008-11-18 09:26:58