我有以下字符串字符串替换功能
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