我想删除String
中的一封信 - 但只发一次信:
示例:如果我的字是"aaba"
,我想删除'a'
:
输出为"aba"
- 仅删除第一个'a'
。 (并非所有'a'
s)
我想出了这个:
String word = "aaba"
String newWord = word.replace(a, "");
问题在于newWord='b'
而不是'aba'
有人可以帮忙吗?出于某种原因,我对这个看似简单的问题感到很困难。解决这个问题的最佳方法是什么?
我是否需要创建某种ArrayList
?
答案 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, "");