Java 从字符串中删除指定字符
我对使用Java 从字符串中删除指定字符,java,string,Java,String,我对使用String.replaceAll函数感兴趣,该函数允许我删除字符串的特定序列 String.replaceAll的功能是否替换给定给的字符串序列的第一次出现,以及替换?我的假设是肯定的 要替换特定的子字符串,我将如何替换所提供字符串中的字符 String sentence = "@red@@blue@@green@Hello@reset@"; 在本例中,在运行字符串时,要删除的子字符串是从@到另一个@。替换 String.replaceAll("@**PATTERN HERE SO
String.replaceAll
函数感兴趣,该函数允许我删除字符串的特定序列
String.replaceAll
的功能是否替换给定给的字符串序列的第一次出现,以及替换?我的假设是肯定的String sentence = "@red@@blue@@green@Hello@reset@";
在本例中,在运行字符串时,要删除的子字符串是从@
到另一个@
。替换
String.replaceAll("@**PATTERN HERE SO NAME WON"T MATTER**@", "");
String sentence = "@red@@blue@@green@Hello@reset@";
必须运行4次才能将“Hello”作为字符串的剩余成员
例如:
运行1-replaceFirstOccurrence(@regex@,“”)
运行2-replaceFirstOccurrence(@regex@,“”)
运行3-replaceFirstOccurrence(@regex@,“”)
运行4-replaceFirstOccurrence(@regex@,“”)
使用字符串的标准方法replaceAll(字符串正则表达式,字符串替换) 例如:
“@some chars@”.replaceAll(“@[^@]*@”,“@”) 回答这个问题其实非常简单,但正则表达式是最难的部分 感谢@waxtah的正则表达式回答了这个问题 使用String.replaceFirst(“@[^@]*@”和“”)
我能够实现我的目标。谢谢大家。但是replace-不支持正则表达式。我还需要@any length/character@表达式的模式,在这个主题上不是很好。我想他也想删除@symbols,所以第二个参数应该是
”
@waxtah我在页面上添加了一个编辑,看看底部。基本上总结了我所需要的,因为replaceAll将核化每次出现的整个字符串,而不是单独删除它。请添加一个示例。人们对你到底想要什么感到困惑。@ErickG.Hagstrom我添加了一个example@nolexa请仔细再看一遍字符串,每种颜色都受@color@. 相邻的颜色看起来像@color@@color@,因此Hello确实是最后一个。我相信他希望删除@与其后面的@之间的所有内容,因此在他的测试字符串中@red@@blue@@green@Hello@重置@
,只剩下你好
。@KyleJ您的示例字符串是“@red”@@blue@green@Hello@reset@”“不是吗“@red@@blue”@@green@Hello@重置@。你看到区别了吗?绿色周围的标记不平衡。请注意。你的例子让人困惑。
System.out.println(sentence); --> "@blue@@green@Hello@reset@"
System.out.println(sentence); --> "@green@Hello@reset@"
System.out.println(sentence); --> "Hello@reset@"
System.out.println(sentence); --> "Hello"