当前位置: 首页 > 面试题库 >

用单个特殊字符替换多次出现的特殊字符

秦博达
2023-03-14
问题内容

我想删除的特殊字符,如多次出现" ""-""!""_"从我的java字符串由单下划线"_"。我试过了

replaceAll("([\\s\\-\\!])\\1+","_")

并且似乎用下划线替换了连续的相同类型的特殊字符,但否则不起作用。例如:

Hello!!!  World

变成

Hello__World

(下划线有2个。)但是应该是Hello_World

同样对于Hello - World失败的情况。我也尝试使用regex并做了一个正则表达式

replaceAll("([^a-zA-Z0-9])\\1+","_")

但这仍然无济于事。我该如何实现?


问题答案:

注意,这\1是对与第一个捕获组匹配的 内容 的反向引用。要实际匹配字符类中的一个或多个任何字符,只需使用+量词:

[\\s!-]+

所以用

str = str.replaceAll("[\\s!-]+","_");

见IDEONE演示



 类似资料:
  • 有没有办法用gsub替换R中的特殊字符串?我有几列里面有,我想把它改为,但是gsub不起作用 下面是一个例子: 我收到以下输出:

  • 问题内容: 我该如何更换: “ã”和“ a” “é”和“ e” 在PHP中?这可能吗?我读过某处我可以使用基本字符的ascii值和重音符号的ascii值进行一些数学运算,但是现在找不到任何参考。 问题答案: 这个答案是不正确的。 编写它时,我不理解Unicode规范化。查看francadaval的评论和链接 签出Normalizer类来执行此操作。文档很好,所以我将其链接起来,而不是在这里重复:

  • 问题内容: 是否有任何库可以将特殊字符替换为ASCII等效项,例如: 至: 我当然可以创建地图: 并使用一些替换功能。但是我不想将所有等效项硬编码到我的程序中,如果已经有一些功能可以做到这一点。 问题答案:

  • 问题内容: 我正在使用urllib从网站获取html字符串,并且需要将html文档中的每个单词放入列表中。 这是我到目前为止的代码。我不断收到错误消息。我还复制了以下错误。 这是错误。 问题答案: str.replace是您要执行的操作错误的函数(除了使用不正确之外)。您想用空格代替集合的任何字符,而不是用单个空格代替整个集合(后者是replace的作用)。您可以使用以下翻译: 这将创建一个映射,

  • 关于字符集和替代字形 除键盘上可看到的字符之外,字体中还包括许多字符。根据字体的不同,这些字符可能包括连字、分数字、花饰字、装饰字、序数字、标题和文体替代字、上标和下标字符、变高数字和全高数字。字形是特殊形式的字符。例如,在某些字体中,大写字母 A 有几种形式可用,如花饰字或小型大写字母。 插入替代字形的方式有两种: 可以使用 “字形 ”面板来查看和插入任何字体中的字形。 可以使用 “OpenTy

  • 一些字符在 XML 中有特殊的含义,只能够通过其实体名称输入 字符 写法 缩写涵义 < &lt; less than > &gt; greater than & &amp; ampersand " &quot; quote ' &apos; apostrophe 空格 &nbsp; none-break space 通常需要使用实体输入的字符包括<、&、空格   XML 会将任意数量的空格解析为一