Android Java中如何移除字符串中的$符号及后续数字?
解决方案
你之前用split("\$")只取索引0的元素,会直接截断第一个$之后的所有内容,这显然不符合需求——原字符串里有多个$,每个都对应要移除的数字段,正确做法是用正则全局替换,而非分割。
具体实现(Java)
直接用replaceAll方法匹配所有$后跟数字的模式,替换为空字符串即可:
String previousString = "1984 (as Word$55), 1984-1993 (as Something$74435), 1994-present (as Anything$9324879)"; String result = previousString.replaceAll("\\$\\d+", ""); System.out.println(result);
代码说明
\\$:转义$($在正则里是特殊字符,代表行尾,必须转义才能匹配字面量$)\\d+:匹配一个或多个数字(\d是数字的正则符号,+表示至少出现一次)replaceAll会全局搜索整个字符串,把所有符合$数字的模式都替换掉,不会截断有效内容。
执行后得到的结果就是你想要的:
1984 (as Word), 1984-1993 (as Something), 1994-present (as Anything)
内容的提问来源于stack exchange,提问作者Czral
相关产品推荐
相关产品推荐

