欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA正則表達(dá)式匹配多個空格的解決方案

 更新時間:2022年11月11日 11:52:20   作者:予亭  
這篇文章主要介紹了JAVA正則表達(dá)式匹配多個空格的解決方案,文中提到了()和[]本質(zhì)的區(qū)別,本文給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

需求

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

解決方案

利用正則表達(dá)式來匹配空格

\\s+

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

		String string="a   b  a  a ";
		for(String a:string.split("\\s+")){
			System.out.println(a);
		}

擴充知識

正則表達(dá)式的() [] {}有不同的意思。
() 是為了提取匹配的字符串。表達(dá)式中有幾個()就有幾個相應(yīng)的匹配字符串。(\s*)表示連續(xù)空格的字符串。
[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號。
{}一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s{1,3}表示匹配一到三個空格。
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數(shù)字(注意后面有 *,可以為空)[0-9]+ 匹配數(shù)字(注意后面有 +,不可以為空){1-9} 寫法錯誤。
[0-9]{0,9} 表示長度為 0 到 9 的數(shù)字字符串

()和[]有本質(zhì)的區(qū)別

()內(nèi)的內(nèi)容表示的是一個子表達(dá)式,()本身不匹配任何東西,也不限制匹配任何東西,只是把括號內(nèi)的內(nèi)容作為同一個表達(dá)式來處理,
例如:(ab){1,3},就表示ab一起連續(xù)出現(xiàn)最少1次,最多3次。如果沒有括號的話,ab{1,3},就表示a,后面緊跟的b出現(xiàn)最少1次,最多3次。另外,括號在匹配模式中也很重要。這個就不延伸了,LZ有興趣可以自己查查
[]表示匹配的字符在[]中,并且只能出現(xiàn)一次,并且特殊字符寫在[]會被當(dāng)成普通字符來匹配。例如[(a)],會匹配(、a、)、這三個字符。
所以() [] 無論是作用還是表示的含義,都有天壤之別,沒什么聯(lián)系

java中,正則表達(dá)式匹配一個或多個空格 && 正則表達(dá)式匹配兩個或多個空格

001.匹配一個或者多個的空格的正則表達(dá)式: \\s+

例:

String[] newStr = str.trim().split("\\s+");

002.匹配二個或多個空格的正則表達(dá)式 : \\s{2,}

例:

String str = new String("i am ? a ? good ? ? boy! ? ?");
String replaceAll = str.replaceAll("\\s{2,}", " ").trim();

正則表達(dá)式匹配多個空格

preg_match_all('/<div class=\"item\">(.*?)<\/p>[\s]*<\/div>/ise',$body,$body_mat);

用[\s]*可匹配多個空格如</p> </div>

//去掉字符串中的空格
$str1 = "我是中 國 " ;
$s2 = preg_replace("/\s+/",'',$str1);
$len =mb_strlen($s2,"UTF-8") ;

到此這篇關(guān)于JAVA正則表達(dá)式匹配多個空格的文章就介紹到這了,更多相關(guān)java正則表達(dá)式匹配空格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合Swagger和Actuator的使用教程詳解

    SpringBoot整合Swagger和Actuator的使用教程詳解

    Swagger 是一套基于 OpenAPI 規(guī)范構(gòu)建的開源工具,可以幫助我們設(shè)計、構(gòu)建、記錄以及使用 Rest API。本篇文章主要介紹的是SpringBoot整合Swagger(API文檔生成框架)和SpringBoot整合Actuator(項目監(jiān)控)使用教程。感興趣的朋友一起看看吧
    2019-06-06
  • elasticsearch集群cluster?discovery可配式模塊示例分析

    elasticsearch集群cluster?discovery可配式模塊示例分析

    這篇文章主要為大家介紹了elasticsearch集群cluster?discovery可配式模塊示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 深入了解Java設(shè)計模式之策略模式

    深入了解Java設(shè)計模式之策略模式

    策略模式屬于Java-設(shè)計模式中行為模式之一,該模式定義了一系列算法,并將每個算法封裝起來,使它們可以相互替換。本文將通過示例詳細(xì)講解這一模式,需要的可以參考一下
    2022-09-09
  • 基于HTML5+js+Java實現(xiàn)單文件文件上傳到服務(wù)器功能

    基于HTML5+js+Java實現(xiàn)單文件文件上傳到服務(wù)器功能

    應(yīng)公司要求,在HTML5頁面上實現(xiàn)上傳文件到服務(wù)器功能,對于我這樣的菜鳥,真是把我難住了,最后還是請教大神搞定的,下面小編把例子分享到腳本之家平臺,供大家參考
    2017-08-08
  • MyBatis-Plus雪花算法實現(xiàn)源碼解讀

    MyBatis-Plus雪花算法實現(xiàn)源碼解讀

    雪花算法是一種用于生成唯一標(biāo)識符(ID)的分布式算法,雪花算法的設(shè)計目標(biāo)是在分布式系統(tǒng)中生成全局唯一的ID,同時保證ID的有序性和趨勢遞增,這篇文章主要介紹了MyBatis-Plus雪花算法實現(xiàn)源碼解析,需要的朋友可以參考下
    2023-12-12
  • 鴻蒙HarmonyOS App開發(fā)造輪子之自定義圓形圖片組件的實例代碼

    鴻蒙HarmonyOS App開發(fā)造輪子之自定義圓形圖片組件的實例代碼

    這篇文章主要介紹了鴻蒙HarmonyOS App開發(fā)造輪子之自定義圓形圖片組件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • springboot 在linux后臺運行的方法

    springboot 在linux后臺運行的方法

    這篇文章主要介紹了springboot 在linux后臺運行的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • java中使用數(shù)組進行模擬加密的方法

    java中使用數(shù)組進行模擬加密的方法

    這篇文章主要介紹了java中使用數(shù)組進行模擬加密的方法,需要的朋友可以參考下
    2014-08-08
  • Java 如何繞過迭代器遍歷時的數(shù)據(jù)修改異常

    Java 如何繞過迭代器遍歷時的數(shù)據(jù)修改異常

    這篇文章主要介紹了Java 繞過迭代器遍歷時的數(shù)據(jù)修改異常的方法,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-02-02
  • SpringBoot用JdbcTemplates訪問Mysql實例代碼

    SpringBoot用JdbcTemplates訪問Mysql實例代碼

    本篇文章主要介紹了SpringBoot用JdbcTemplates訪問Mysql實例代碼,非常具有實用價值,需要的朋友可以參考下
    2017-05-05

最新評論