久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java 使用正則表達式去除前后空格

瀏覽:81日期:2022-08-14 13:23:13
問題描述:

java去除字符串前后空白,身為小伙子的我搞了大半天,其實蠻簡單的。

解決方案:方式一:

trim() trim()是 String里的常用的方法,作用:返回字符串的副本,忽略前導空白和尾部空白*

java 使用正則表達式去除前后空格

輸出結果:

java 使用正則表達式去除前后空格

方式二:正則表達式:

replaceAll(String regex,String replacement):也是String類的常用方法,

是一個形參為可以填正則表達式,第二形參為替換的內容

這里需要的正則式:

(1) s 表示空格,

(2) ^表示開頭

(3) $表示結尾

(4) +表示數量

java 使用正則表達式去除前后空格

輸出結果:

java 使用正則表達式去除前后空格

完結~

補充:JAVA正則表達式匹配多個空格

需求

針對tab鍵帶來的多個空格問題,有時候我們針對帶空格的一行數據要進行切割,如果有多個空格就會出現就會切割空格出現,我們想把空格都去掉,所以需要用到某些方法。

解決方案

利用正則表達式來匹配空格

s+

首先利用split('s+');方法來對字符串切割,盡可能的匹配空格,這里也挺有意思,因為空格數目不一樣,可以動態變換匹配的空格數量,這個實現原理可以看看底層原理,挺有意思。

測試:

String string='a b a a '; for(String a:string.split('s+')){ System.out.println(a); }擴充知識

正則表達式的() [] {}有不同的意思。

() 是為了提取匹配的字符串。表達式中有幾個()就有幾個相應的匹配字符串。(s*)表示連續空格的字符串。

[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應位置的字符要匹配英文字符和數字。[s*]表示空格或者*號。

{}一般用來表示匹配的長度,比如 s{3} 表示匹配三個空格,s{1,3}表示匹配一到三個空格。

(0-9) 匹配 ’0-9′ 本身。 [0-9]* 匹配數字(注意后面有 *,可以為空)[0-9]+ 匹配數字(注意后面有 +,不可以為空){1-9} 寫法錯誤。

[0-9]{0,9} 表示長度為 0 到 9 的數字字符串

()和[]有本質的區別

()內的內容表示的是一個子表達式,()本身不匹配任何東西,也不限制匹配任何東西,只是把括號內的內容作為同一個表達式來處理,

例如:(ab){1,3},就表示ab一起連續出現最少1次,最多3次。如果沒有括號的話,ab{1,3},就表示a,后面緊跟的b出現最少1次,最多3次。另外,括號在匹配模式中也很重要。這個就不延伸了,LZ有興趣可以自己查查

[]表示匹配的字符在[]中,并且只能出現一次,并且特殊字符寫在[]會被當成普通字符來匹配。例如[(a)],會匹配(、a、)、這三個字符。

所以() [] 無論是作用還是表示的含義,都有天壤之別,沒什么聯系

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
主站蜘蛛池模板: 章丘市| 宜兰县| 朝阳市| 建始县| 温州市| 花垣县| 曲水县| 同仁县| 舟山市| 富阳市| 潜江市| 德安县| 七台河市| 平山县| 青铜峡市| 宁明县| 信阳市| 保德县| 汶川县| 赤峰市| 平南县| 光泽县| 蒲江县| 盘山县| 凤凰县| 盈江县| 五台县| 招远市| 中卫市| 教育| 周口市| 岳池县| 察雅县| 呼伦贝尔市| 牡丹江市| 西乌珠穆沁旗| 城口县| 华容县| 黄山市| 吉林市| 年辖:市辖区|