如何使用Java正则表达式替换以$开头的子串?
解决方案:替换以$开头的变量为'x'
正则表达式选择
使用\$\w+作为匹配规则:
\$:匹配字面量$(正则中$是特殊字符,必须转义)\w+:匹配一个或多个字母、数字、下划线,覆盖常见的变量名格式
Java 代码示例
直接用replaceAll方法实现替换:
// 第一个示例 String s1 = "something variable = $firstname something something"; String result1 = s1.replaceAll("\\$\\w+", "'x'"); // 输出结果:something variable = 'x' something something // 第二个示例 String s2 = "something foo($firstname) something else"; String result2 = s2.replaceAll("\\$\\w+", "'x'"); // 输出结果:something foo('x') something else
注意:Java字符串中需要双重转义,所以正则里的
\$要写成\\$,\w写成\\w
扩展场景
如果你的变量名包含连字符等特殊字符,可以把正则调整为\$[a-zA-Z0-9_-]+,匹配包含字母、数字、下划线、连字符的变量。
内容的提问来源于stack exchange,提问作者VanTheMan
相关产品推荐
相关产品推荐

