【问题标题】:Regular Expression In Java Replace character and dotJava中的正则表达式替换字符和点
【发布时间】:2016-06-04 19:17:29
【问题描述】:

尝试在java中编写正则表达式以用“”替换字符和点,我的字符串是

字符串值 = "a.employee";

在字符串中我想替换一个。或 b。或 c。使用“”在java中使用ReplaceAll方法,如下所示正则表达式--

[a\.|b\.|c.]

但这给出的输出为 -

""""employee 

但应该是这样的

""employee

谁能给我提示来解决这个问题。

【问题讨论】:

  • 去掉字符类[]再试试

标签: regex


【解决方案1】:

在字符类中,所有内容都被视为单个字符。所以在你的正则表达式中

[a\.|b\.|c.]

表示匹配a.|b.|c.。最终字符类可以理解为所有这些字符的交集。所以在你的角色课上,你终于有了

[abc.|]

注意 :- 无需在字符类中转义.。内部字符类| 是文字管道符号,而不是您所想的交替。

现在,当您在字符串上使用replaceAll 时,它会将您的a 替换为"",并将. 替换为""。因此,您得到 4 个双引号。

你可以使用

System.out.println("a.employee".replaceAll("[abc][.]", "\"\""));

Ideone Demo

【讨论】:

    猜你喜欢
    • 2014-08-25
    • 1970-01-01
    • 2010-10-04
    • 2011-04-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    相关资源
    最近更新 更多