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