我有一個字符串,我想確保格式始終是+
後跟數字。
下面將工作:如何除掉第一個字符以外的字符串中的所有非數字?
String parsed = inputString.replaceAll("[^0-9]+", "");
if(inputString.charAt(0) == '+') {
result = "+" + parsed;
}
else {
result = parsed;
}
但是,有沒有辦法讓在replaceAll
一個正則表達式,將保持+
(如果存在)的字符串的開頭和替換所有非數字在第一線?
NB:'replaceAll'將不添加'+'的情況下,有沒有,所以我不明白你正在尋找 – 2015-10-18 12:14:50
[This regex](https:// regex101。我相信:搜索'(^ [+])| [^ 0-9] +'並替換爲'$ 1'。 –
從你的代碼中,你似乎允許輸入諸如'abd + 3G45; {',這對我來說不太合理。您可能想要聲明輸入匹配某種模式'[+]?\ s * \ d + \ s *'而不是(白名單)。 – nhahtdh