java - 用于替换字符串中除一个字符外的所有字符的正则表达式

标签 java regex

我需要正则表达式来替换字符串中序列中除第一个字符之外的所有匹配字符。

例如;

用于匹配'A'并替换为'B'

  • 'AAA' 应替换为 'ABB'

  • 'AAA AAA' 应替换为 'ABB ABB'

用于匹配 ' ' 并替换为 'X'

  • '[space][space][space]A[space][space][space]'应该替换为'[space]XXA[space]XX'

最佳答案

您需要使用此正则表达式进行替换:

\\BA

Working Demo

  • \B(单词字符之间)断言 \b(单词边界)不匹配的位置
  • A 按字面意思匹配字符 A

Java 代码:

String repl = input.replaceAll("\\BA", "B");

更新 对于问题的第二部分,使用此正则表达式进行替换:

"(?<!^|\\w) "

代码:

String repl = input.replaceAll("(?<!^|\\w) ", "X");

Demo 2

关于java - 用于替换字符串中除一个字符外的所有字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24450196/

相关文章:

java - 如何使用java播放视频?

java - 如何从Websphere启动工作任务进一步传递异常?

java - 填充堆栈会导致错误

java - 在sqlite中使用intent后如何从listview中获取项目名称?

regex - vb.net正则表达式与字符串的比较

正则表达式以防止尾随空格和额外空格

java - mysql显示在java中创建表

php - 正确的案例处理而不破坏 IBM、NASA 等的东西

java - 从 URL 中提取 Android 应用 ID

c# - 使用正则表达式防止 XSS