【发布时间】:2016-02-24 17:13:56
【问题描述】:
我有兴趣使用String.replaceAll 函数,该函数将允许我删除字符串的特定序列。
String.replaceAll的功能是否替换了第一次出现的字符串序列,以及替换?我的假设是肯定的。-
要替换特定的子字符串,我将如何替换提供的字符串中的字符?
String sentence = "@red@@blue@@green@Hello@reset@";我要删除的子字符串是从
@到另一个@,在这种情况下,同时运行String.replaceString.replaceAll("@**PATTERN HERE SO NAME WON"T MATTER**@", "");
编辑 看到 replace 和 replaceAll 使得这两个区别之间存在,是一个使用正则表达式的区别。 我担心的是删除第一次出现的给定表达式,即
的原始字符串String sentence = "@red@@blue@@green@Hello@reset@";
必须运行 4 次才能将“Hello”作为字符串的剩余成员。
示例: 运行 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"
【问题讨论】:
-
请添加示例。人们对你到底想要什么感到困惑。
-
@ErickG.Hagstrom 我添加了一个示例
-
@nolexa 请再次仔细查看字符串,每种颜色都由@color@ 控制。彼此相邻的颜色看起来像@color@@color@,因此 Hello 确实是最后一个
-
我相信他希望删除 @ 及其后面的 @ 之间的所有内容,因此在他的测试字符串
@red@@blue@@green@Hello@reset@中,只保留Hello。 -
@KyleJ 您的示例字符串是“@red@@blue@green@Hello@reset@”,而不是“@red@@blue@@green@Hello@reset@”。你看得到差别吗? “绿色”周围的标记不平衡。请注意。你的例子令人困惑。