簡體   English   中英

正則表達式替換字符串中的所有字符

[英]Regular Expression to Replace All But One Character In String

我需要正則表達式來替換除字符串中的第一個字符之外的所有匹配字符。

例如;

用於與'A'匹配並用'B'替換

  • “AAA”應替換為“ABB”

  • “AAA AAA”應替換為“ABB ABB”

用於與''匹配並替換為'X'

  • '[space] [space] [space] A [space] [space] [space]'應替換為'[space] XXA [space] XX'

您需要使用此正則表達式進行替換:

\\BA

工作演示

  • \\B (單詞字符之間)斷言\\b (字邊界)不匹配的位置
  • A字符匹配A字面上

Java代碼:

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

更新對於問題的第二部分,請使用此正則表達式進行替換:

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

碼:

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

演示2

負面觀察和弦錨的開始

使用正則表達式(?<!^| )A如下:

String resultString = subjectString.replaceAll("(?<!^| )A", "B");

演示中 ,檢查底部的替換。

說明

  • (?<!^| )斷言緊接在該位置之前的內容既不是字符串的開頭也不是空格字符
  • A匹配A

參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM