我想替換洗掉/替換不在逗號之后的字串中的每個空格。我已經搜索了合適的正則運算式,但沒有找到。這是我要修改的字串示例:
{id=565189.0, server=Ealyn, merchantName=Nox, activeMerchants=[{id=f01b617d-2dc7-4597-2297-08dabad9a125, name=Nox, zone=Nebel horn, card={name=Bergstrom, rarity=2.0}, rapport={name=Energy X7 Capsule, rarity=3.0}, votes=0.0}]}
應更改為(_ 槽替換)
{id=565189.0, server=Ealyn, merchantName=Nox, activeMerchants=[{id=f01b617d-2dc7-4597-2297-08dabad9a125, name=Nox, zone=Nebel_horn, card={name=Bergstrom, rarity=2.0}, rapport={name=Energy_X7_Capsule, rarity=3.0}, votes=0.0}]}
對正則運算式有高知識的人可以為這種情況創建一個嗎?提前致謝
我已經嘗試過這個運算式:
(^|[^,])\\s
..但它總是洗掉一個帶有空格的字符
uj5u.com熱心網友回復:
這可以使用負面的后視來完成:
(?<!,)\\s
輸出:
{id=565189.0, server=Ealyn, merchantName=Nox, activeMerchants=[{id=f01b617d-2dc7-4597-2297-08dabad9a125, name=Nox, zone=Nebel_horn, card={name=Bergstrom, rarity=2.0}, rapport={name=Energy_X7_Capsule, rarity=3.0}, votes=0.0}]}
uj5u.com熱心網友回復:
這對我有用。訣竅是選擇要保留的組并在replaceAll方法的替換引數中參考它。
public static void main(String[] args) {
var before = "{id=565189.0, server=Ealyn, merchantName=Nox, activeMerchants=[{id=f01b617d-2dc7-4597-2297-08dabad9a125, name=Nox, zone=Nebel horn, card={name=Bergstrom, rarity=2.0}, rapport={name=Energy X7 Capsule, rarity=3.0}, votes=0.0}]}";
var after = before.replaceAll("([^,])\\s ", "$1");
System.out.println(before);
System.out.println(after);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524455.html
標籤:爪哇正则表达式细绳代替
