首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >replaceAll或regex java正斜杠

replaceAll或regex java正斜杠
EN

Stack Overflow用户
提问于 2018-07-28 05:52:57
回答 1查看 161关注 0票数 3

我想将字符串"S/“更改为”S/“。我用Pattern.compile和Matcher.quoteReplacement试过了。我没有找到解决方案。

public static void main(String[] args) {
    String cadena = "Moneda Actual : S/";
    cadena = cadena.replaceAll("\\bS/\\b", "S/.");
    System.out.println(cadena);
}

此代码打印:

Moneda实际: S/

我想打印:

Moneda : S/。

因此,如果原始文本是"Moneda Actual : S/.",则算法不能替换为"S/.."

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-28 06:16:00

用消极的眼光看未来:

cadena = cadena.replaceAll("\\bS/(?!\\.)", "S/.");

负向先行断言(不消耗)下一个字符不是点。

当字符串末尾出现"S/"时,这也会起作用。

--

在斜杠之后和点之前没有单词边界。单词边界位于“单词”字符(字母、数字和下划线)和非“单词”字符之间。不能在空格和非空格之间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51565987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档