簡體   English   中英

用逗號后跟空格替換逗號

[英]Replace comma with a comma followed by space

由於服務器端數據的格式化方式,我需要使用自己的函數將其重新格式化,並防止任何不必要的重新格式化,我想檢查要重新格式化的字符串是否需要重新格式化。

這是條件和涉及的正則表達式。

String value = "test, test, test.";

if (!value.matches("/(\\s*, )/g")) {
    return value.replaceAll(",", ", ");
}
else {
    return value;
}

預期的結果是,如果字符串為: Test,test,test ,它將重新格式化為Test, test, test

我得到的行為是,即使代碼中的value字符串在應跳過它並進入else時也進入if條件。

與我的審稿人協商后進行編輯

在這里為我找到的最佳解決方案是",(?! )", ", "但是它解決了我什至沒有的問題,因此我將其簡化為",(\\\\S)", ", $1"

建議的解決方案將添加一個 之后,即使,是在字符串的結尾這是一件好事,我不想。

同樣在我的問題中,我有一個多余的if條件,該條件已刪除並將其簡化為:

String value = "Test,test,test";

return value.replaceAll(",(\\S)", ", $1");

輸出:

Test, test, test

您無需檢查,只需使用:

value = value.replaceAll("\\s*,\\s*", ", ");

輸入例如:

test ,   test, test.

輸出量

test, test, test.

您可以使用:

result = subject.replaceAll(",([^ ])", ", $1");

在此處輸入圖片說明


演示版

暫無
暫無

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

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