从String中删除char

时间:2015-02-05 05:14:21

标签: java string arraylist replace

我想删除String中的一封信 - 但只发一次信:

示例:如果我的字是"aaba",我想删除'a'

输出为"aba" - 仅删除第一个'a'。 (并非所有'a' s)

我想出了这个:

String word = "aaba"
String newWord = word.replace(a, "");

问题在于newWord='b'而不是'aba'

有人可以帮忙吗?出于某种原因,我对这个看似简单的问题感到很困难。解决这个问题的最佳方法是什么?

我是否需要创建某种ArrayList

4 个答案:

答案 0 :(得分:1)

public String replace(char oldChar, char newChar)将使用newChar替换此字符串中所有出现的oldChar

您应该考虑使用public String replaceFirst(String regex,String replacement)替换此字符串的第一个子字符串,该子字符串与给定的正则表达式匹配给定的替换。

String word = "aaba"
String newWord = word.replaceFirst(a, "");

答案 1 :(得分:0)

你需要首先使用indexof() metohd找到第一次出现的索引,然后你可以通过substring()方法找到目标char之前和之后的文本,最后你需要使用{{ 1}}附加它们。

concat()也很有效

答案 2 :(得分:0)

字符串replaceFirst()方法

  

public String replaceFirst(String regex,String replacement)

<强>参数:

以下是参数的详细信息:

regex -- the regular expression to which this string is to be matched.

replacement -- the string which would replace found expression.

<强>代码

 public static void main(String[] args) {
        String word = "aaba";
        String newWord = word.replaceFirst("a", "");
        System.out.println(newWord);
    }

<强>输出

aba

答案 3 :(得分:0)

您可以选择使用public String replaceFirst(String regex, String replacement)

regex - 这是要与此字符串匹配的正则表达式 replacement - 这是每个匹配替换的字符串。

因为在您的代码中,您只想替换首次出现的重复charecter,您可以将其替换为空白,如下面的代码。

String word = "aaba" 
String newWord = word.replaceFirst(a, "");