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

2024-01-26

我想删除多次出现的特殊字符,例如" ", "-", "!", "_"从我的 java 字符串中通过一个下划线"_"。 我试过

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

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

Hello!!!  World

becomes

Hello__World

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

也适用于类似的情况Hello - World它失败。 我还尝试使用正则表达式并制作了一个正则表达式,例如

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

但这仍然没有帮助。我怎样才能实现它?


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

[\\s!-]+

So, use

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

See IDEONE演示 http://ideone.com/gZBVo8

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多次出现的特殊字符替换为单个特殊字符 的相关文章

  • R 获取子字符串和正则表达式?

    我有一组文件名字符串 我想提取 符号之后但文件扩展名之前的所有字符 例如 文件名之一是 HelloWorld you txt 我想返回字符串you 这是我的代码 hashPos grep name fixed TRUE dotPos len
  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 通过搜索查找下一个文本并突出显示不起作用

    当在搜索框中搜索任何文本时 它可以找到并突出显示正确的文本 但是当搜索下一个 新文本时 它无法找到下一个 新文本 再次搜索时它不起作用 我无法找到问题 这JS below JS button search click function va
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • 如何将 Spotlight for Help 插入本地化的 macOS 应用程序?

    我正在 macOS 上使用 Swing GUI 框架实现 Java 应用程序 当使用system外观和感觉以及screen菜单栏 Swing 自动插入一个搜索栏 called 聚光灯寻求帮助 https developer apple co
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • 打印包含 JBIG2 图像的 PDF

    请推荐一些库 帮助我打印包含 JBIG2 编码图像的 PDF 文件 PDFRenderer PDFBox别帮我 这些库可以打印简单的 PDF 但不能打印包含 JBIG2 图像的 PDF PDFRenderer尝试修复它 根据 PDFRedn
  • htaccess 301 重定向 - 删除查询字符串 (QSA)

    我一直在努力处理一些 htaccess 重定向 我只是花了一些时间在堆栈上阅读和搜索 但无法获得适合我的场景的答案 我正在将旧客户端网站的 301 重定向到新客户端 旧页面有参数查询 我想从网址中删除它 menu php idCategor
  • 覆盖 MATLAB 默认静态 javaclasspath 的最佳方法

    MATLAB 配置为在搜索用户可修改的动态路径之前搜索其静态 java 类路径 不幸的是 静态路径包含相当多非常旧的公共库 因此如果您尝试使用新版本 您可能最终会加载错误的实现并出现错误 例如 静态路径包含 google collectio
  • 让JScrollPane控制多个组件

    对于我的应用程序 我正在设计一个脚本编辑器 目前我有一个JPanel其中包含另一个JPanel保存行号 位于左侧 以及JTextArea用于允许用户输入代码 位于右侧 目前 我已经实施了JScrollPane on the JTextAre
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • ExceptionHandler 不适用于 Throwable

    我们的应用程序是基于 Spring MVC 的 REST 应用程序 我正在尝试使用 ExceptionHandler 注释来处理所有错误和异常 I have ExceptionHandler Throwable class public R
  • Path2D 上的鼠标指针检测

    我构建了一个Path2D http docs oracle com javase 7 docs api java awt geom Path2D html表示由直线组成的未闭合形状 我希望能够检测何时单击鼠标并且鼠标指针靠近路径 在几个像素
  • 从一个文本文件中获取数据并将其移动到新的文本文件

    我有一个文件 里面有数据 在我的主要方法中 我读入文件并关闭文件 我调用另一种方法 在原始文件的同一文件夹内创建一个新文件 所以现在我有两个文件 原始文件和通过我调用的方法生成的文件 我需要另一种方法 从原始文件中获取数据并将其写入创建的新
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set

随机推荐

  • ruby(1.9.3) on Rails(3.2.3) Activerecord-odbc-适配器

    我有一个遗留数据库 Progress OpenEdge 我需要将其用于大量报告 我可以使用 ruby 1 8 6 和 Rails 2 0 odbc adapter 和 odbc rails 由于不再支持 1 8 6 并且 Rails 2 0
  • 将 json 数据格式化为驼峰式

    我从服务器收到一个 json 响应 如下所示 Response FirstName John LastName Smith NickNames NameOne Johnny NameTwo JohnS NameThree Smithy Su
  • 如何克服Python 3.4 NameError:名称'basestring'未定义

    我在本地目录中有一个名为 hello txt 的文件以及 test py 其中包含以下 Python 3 4 代码 import easywebdav webdav easywebdav connect 192 168 1 6 userna
  • 数组和隐式生命周期对象创建

    有些类型被标准定义为隐式生命周期类型 数组就是其中之一 一些函数隐式创建具有隐式生命周期的对象 malloc 等就是其中之一 包含隐式创建具有隐式生存期的对象的操作列表 可在此处找到 https en cppreference com w
  • React Native:我应该使用哪个导航器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我必须在 3 个月内构建一个相对较大的跨平台 iOS 和 Android 应用程序 到目前为止 当谈到
  • 具有嵌入式竞技场的堆栈分配器问题

    我在使用 Howard Hinnant 时遇到崩溃基于堆栈的分配器 http howardhinnant github io stack alloc h 都在 MacOS 和 64 位 Linux 上的 Clang 3 4 这是一个最小的例
  • 百分比和树木

    我有一棵无序的树 每个节点代表一个可以完成 1 未完成 0 或有子任务的任务 例如 1 1 1 1 2 1 2 1 1 2 2 1 3 2 3 3 1 4 4 1 4 1 1 5 假设叶子 1 2 1 3 1 和 5 是done 1 1 1
  • 如何强制 Flutter 重建/重绘所有 widget?

    有没有办法强制 Flutter 重绘所有小部件 例如 在区域设置更改后 Your Widget应该有一个setState 方法 每次调用该方法时 都会重新绘制小部件 文档 Widget setState https api flutter
  • 如何打开并查看Excel文件的XML结构?

    我想打开Excel文件的路径xl worksheets sheet1 xml 当我谷歌如何执行此操作时 一篇文章要求我将 Excel 文件重命名为 zip 然后解压缩该文件并检查结构 但即使在我压缩并解压 Excel 文件后 我也没有在提取
  • 如何在使用 GROUP BY 时返回数组

    现在 我有这样的疑问 SELECT COUNT AS Count SUM Ask AS Ask SUM Cost AS Cost Provider Factura FROM store items WHERE Provider NOT IN
  • 按键时从 NSTextField 发送操作而不是返回

    我想显示解除按键后新推文剩余的字符数 目前 只有在取消退货时才会发生这种情况 IBAction updateCharacterCountFromNewTweetField id sender newTweetCharacterCount s
  • 如何将活动指示器放在表格视图中间

    我已经设置了活动指示器 spinner center CGPointMake UIScreen mainScreen bounds size width 2 UIScreen mainScreen bounds size height 2
  • 较大的纹理图集会因内存压力而导致终止

    我正在 iOS Swift 中设计一款游戏 我有一个大约 100 个 1920x1080p PNG 的大型纹理图集 当我调用这些函数时 它会由于内存压力而导致应用程序崩溃 当我禁用该功能时 我的应用程序运行得很好 我可以通过编辑代码来防止这
  • MongoMapper(或任何其他 Mongodb 适配器)是否有类似“accepts_nested_attributes_for”的方法?

    我正在考虑在一个新项目中使用 mongodb 但在深入研究之前 我想知道它是否支持一些关键功能 我知道您不需要迁移 并且可以添加嵌入对象 但这是否意味着它的行为也就像 accepts nested attributes for 方法始终存在
  • 给定一组 0-9 的整数,在用完某个整数之前我能写的最后一个数字是多少?

    正如标题所说 给定一组整数 0 9 在用完某个整数之前我能写的最后一个数字是多少 因此 如果给我一个库存 比如从 0 到 9 的每个数字都有 10 个 那么在用完某个数字之前我可以写的最后一个数字是多少 例如 如果库存为 2 我可以写数字
  • 登录会员.NET

    您好 我想知道强制用户在到达 net 网站时登录的最佳方法是什么 我已经设置了会员功能 我想知道什么是最好的方法来确保无论用户到达哪个地址 他们都必须首先经过身份验证 然后才能进入他们请求的页面 任何资源都会很棒 谢谢 Alter Web
  • 尝试设置 .SSH 密钥以通过 Cygwin 连接到 Github

    我刚刚在 Windows 7 上安装了 Cygwin 来开发 RoR 应用程序 问题是我试图通过 Cygwin 将 Git 与我的 Github 帐户连接起来 但由于某种原因 当我运行命令时ssh keygen t rsa C email
  • Parse API - Facebook 登录无法在 iPhone 设备上运行

    当我点击 使用 Facebook 登录 按钮时 在 IOS 模拟器上它工作正常 获取 PFIzer 对象 然后 如果我在 iPhone 设备上运行相同的代码 则获取 PFUser 对象为 null 没有错误 Code func loginW
  • 表模块与域模型

    我问的是选择存储用户配置文件的方法 https stackoverflow com questions 429878 choosing a method to store user profiles前几天收到了大卫 托马斯 加西亚的有趣回应
  • 将多次出现的特殊字符替换为单个特殊字符

    我想删除多次出现的特殊字符 例如 从我的 java 字符串中通过一个下划线 我试过 replaceAll s 1 它似乎用下划线替换连续的相同类型的特殊字符 但否则不起作用 例如 Hello World becomes Hello Worl