有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将点序列替换为一个下划线

我有一根绳子,上面有任意数量的点,有时也有一系列的点

我想用_(下划线)替换每个.(点),但是当有一系列点时,这也应该只产生一个下划线

有什么想法吗

我在用java


共 (1) 个答案

  1. # 1 楼答案

    您可以使用replaceall方法:

    str = str.replaceAll("\\.+","_");
    

    See it on Ideone

    正则表达式的解释\\.+

    .是一个regex元字符,可以匹配任何东西(除了换行符)。因为我们想要匹配一个文字.,所以我们用\来转义它。由于Java字符串和正则表达式引擎都使用\作为转义字符,我们需要使用\\+是一个或多个字符串的量词

    或者,我们可以使用:

    str = str.replaceAll("[.]+","_");
    

    由于字符类中的.是按字面意思处理的,因此不需要转义它