日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式

發布時間:2025/4/16 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、分析?

字符串的操作,諸如追加、合并、替換、倒序、分隔等,都是在編碼過程中經常用到的,而且Java也提供了append、replace、reverse、split等方法來完成這些操作,它們使用起來確實方便,但是更多的時候,需要使用正則表達式來完成復雜的處理。?

二、場景?

統計一篇文章中的單詞的數量,代碼如下?

?

public static void main(String[] args){ //接受鍵盤輸入 Scanner input = new Scanner(System.in); while(input.hasNext()){ String str = input.nextLine(); //使用split方法分隔后統計 int wordsCount = str.split(" ").length; System.out.println(str + "單詞數:" + wordsCount); } }

?

使用split方法根據空格來分隔單詞,然后計算分隔后的數組長度,這種方法可靠嗎?我們看輸出?

Today is Monday?

Today is Monday 單參數:3?

Today is? Monday?

Today is? Monday 單詞數:4?

Today is?Monday?No!?

Today is?Monday?No! 單詞數:3?

I'm Ok.?

I'm Ok. 單詞數:2?

注意到,除了第一個正確外,其它的都是錯誤的。第二條輸入單詞"Monday"前有兩個空格,第三條輸入中"NO"單詞的前后沒有空格,最后一個輸入則沒有把連寫符號“'”考慮進去,這樣統計出來的單詞數量肯定錯誤一堆,那怎樣才合理呢??

可以考慮使用正則表達式,代碼如下?

?

public static void main(String[] args){ //接受鍵盤的輸入 Scanner input = new Scanner(System.in); while(input.hasNext()){ String str = input.nextLine(); //正則表達式對象 Pattern pattern = Pattern.compile("\\b\\w+\\b"); //生成匹配器 Matcher matcher = pattern.matcher(str); //記錄單場數量 int wordsCount = 0; //遍歷查找匹配,統計單場數量 while(matcher.find()){ wordsCount++; } System.out.println(str + "單詞數:" + wordsCount); } }

準不準確,我們看輸入產生的結果:Today?is Monday?

Today is Monday 單參數:3?

Today is? Monday?

Today is? Monday 單詞數:3?

Today is?Monday?No!?

Today is?Monday?No! 單詞數:4?

I'm Ok.?

I'm Ok. 單詞數:3?

每項輸出都是正確的,而且程序也不復雜,先生成一個正則表達式對象,然后使用匹配器進行匹配,之后通過一個while循環統計匹配的數量。?

三、建議?

正則表達式在字符串的查找、替換、剪切、復制、刪除等方面都有著非凡的作用,特別是面對大量的文本字符串需要處理(如果需要錘煉大量的LOG日志)時,使用正則表達式可以大幅提高開發效率和系統性能。?

但是正則表達式是一個惡魔,它會使程序難以讀懂?

轉載于:https://www.cnblogs.com/jiangu66/p/3238898.html

總結

以上是生活随笔為你收集整理的提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。