我对使用String.replaceAll
函数感兴趣,该函数允许我删除字符串的特定序列。
String.replaceAll
的功能是否取代了第一次出现的字符串序列,以及替换?我的假设是肯定的。
如果要替换特定的子字符串,我该如何替换提供的字符串中的字符?
String sentence = "@red@@blue@@green@Hello@reset@";
我要删除的子字符串是@
到另一个@
,在这种情况下,运行String.replace
String.replaceAll("@**PATTERN HERE SO NAME WON"T MATTER**@", "");
EDIT 看到replace和replaceAll会在两个差异之间产生,就像使用正则表达式一样。 我担心的是删除第一次出现的表达式,即
的原始字符串String sentence = "@red@@blue@@green@Hello@reset@";
必须运行4次才能将“Hello”作为String的剩余成员。
实施例: 运行1 - replaceFirstOccurence(“@ regex @”,“”);
System.out.println(sentence); --> "@blue@@green@Hello@reset@"
运行2 - replaceFirstOccurence(“@ regex @”,“”);
System.out.println(sentence); --> "@green@Hello@reset@"
运行3 - replaceFirstOccurence(“@ regex @”,“”);
System.out.println(sentence); --> "Hello@reset@"
运行4 - replaceFirstOccurence(“@ regex @”,“”);
System.out.println(sentence); --> "Hello"
答案 0 :(得分:5)
使用String的标准方法 replaceAll(String regularExpression,String replacement)
例如: " @some chars @" .replaceAll(" @ [^ @] * @"," @@");
答案 1 :(得分:1)
好的回答这个问题实际上非常简单,但正则表达式很难实现。
感谢@waxtah回答这个问题的正则表达式。
使用String.replaceFirst(“@ [^ @] * @”,“”);
我能够实现我的目标。谢谢大家。