在java中替换另一个字符

时间:2015-12-15 00:32:11

标签: java string

我想要做的是在字符串中替换另一个字符。更具体地说,我需要的是如下。 我有这段代码:char userChar = 'X'我有String name = "Annette" 我想替换#34中的第一个n; Annette"与userChar。因此,使用.replace()方法不是一种选择,因为它会替换所有n。我能想到的一件事是使用substring方法并删除除第一个" n"之外的所有文本。然后将这两个子串连接在一起,然后使用StringBuilderinsert方法插入' X'在n的地方。然而,这似乎有点疯狂。我想知道是否有人有其他想法?

3 个答案:

答案 0 :(得分:4)

您可以使用String#replaceFirst(target,replacement)

但要小心,因为该方法使用正则表达式语法,因此您无法轻松替换+ *和其他metacharacters等字符。要解决此问题,您可以使用为您添加转义的方法,如

    {li> Pattern.quote target {li>和MatcherMatcher.quoteReplacement代表replacement

答案 1 :(得分:2)

只需使用replaceFirst

name = name.replaceFirst("n", userChar+"");

答案 2 :(得分:1)

此链接可以提供帮助:Replace a character at a specific index in a string?

Peter Ivanov给出了这个答案。

总而言之,请尝试new,但要使用其他方法。

StringBuilder

我希望这适合你!