[英]Java Regex to Strip Leading & Trailing Zeros with Spaces
如下所示的整數字符串,在Java中如何去除前導零和尾隨零,並使它看起來像:
0 0 1 2 3
變為1 2 3
0 -2 4 0 0 0
變為-2 4
0 3 0 -4 0 0
變為3 0 -4
0 10 9 0 0 20 0
變為10 9 0 0 20
據我所知,此正則表達式可以滿足您的要求。
string pattern = "^[ 0]*|( |(?<!\d)0)*$";
str.replaceAll(pattern, "");
解釋:表達式分為兩部分,由第一|
分隔|
。 第一部分^[ 0]*
只是在行/字符串的開頭查找0個或多個空格或零( ^
表示行/字符串的開頭)。
第二部分( |(?<!\\d)0)*$
有點復雜,因為特殊情況下,行中的最后一個非零數字以數字零結尾。 這部分將查找零個或多個出現的空格或(?<!\\d)0
,這表示零之前沒有數字 。 ?<!\\d
部分稱為負向后看 。 最后是$
,它表示行/字符串的結尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.