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

java利用正則表達式處理特殊字符的方法實例

 更新時間:2020年12月08日 11:59:07   作者:Shiner_  
這篇文章主要給大家介紹了關(guān)于java利用正則表達式處理特殊字符的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

一串字符串中有特殊符號,可能會影響到相關(guān)接口業(yè)務(wù),所以需要把字符串中的特殊字符都過濾掉

百度上面搜索大部分處理方法是通過正則表達式, 他需要處理的特殊符號都寫進正則表達式中去校驗, 這種方式一眼看過去就非常別扭, 感覺不靈活, 萬一需要過濾其他的又得臨時加進去

解決方案

如下所示

 public static String stringFilter (String str){
  String regEx="[\\u00A0\\s\"`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]";
  Pattern p = Pattern.compile(regEx);
  Matcher m = p.matcher(str);
  return m.replaceAll("").trim();
 }
	

這種方式是網(wǎng)上普遍能搜索到的, 個人任務(wù)極其的low, 不推薦使用, 推薦使用下面這種

	public static String romveSpecialChar(String str) {
		String regEx = "\\pP|\\pS|\\s+";
		str = Pattern.compile(regEx).matcher(str).replaceAll("").trim();
		return str;
	}

這種方式就比較簡潔, 中國pP和pS匹配特殊符號然后替換掉, 也可以結(jié)合其他稍作修改就好更加完美

注意事項

其中

\s+是空格一個或者多個,不管在那個位置都能匹配

\pP 其中的小寫 p 是 property 的意思,表示 Unicode 屬性,用于 Unicode 正表達式的前綴。

大寫 P 表示 Unicode 字符集七個字符屬性之一:標(biāo)點字符。

其他六個是

L:字母;

M:標(biāo)記符號(一般不會單獨出現(xiàn));

Z:分隔符(比如空格、換行等);

S:符號(比如數(shù)學(xué)符號、貨幣符號等);

N:數(shù)字(比如阿拉伯?dāng)?shù)字、羅馬數(shù)字等);

C:其他字符

上面這七個是屬性,七個屬性下還有若干個子屬性,用于更進一步地進行細分。

Java 中用于 Unicode 的正則表達式數(shù)據(jù)都是由 Unicode 組織提供的。

Unicode 正則表達式標(biāo)準(zhǔn)(可以找到所有的子屬性),可參考:http://www.unicode.org/reports/tr18/

各 Unicode 字符屬性的定義,可以用一看看某個字符具有什么屬性。可參考:http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

這個文本文檔一行是一個字符,第一列是 Unicode 編碼,第二列是字符名,第三列是 Unicode 屬性, 以及其他一些字符信息。

總結(jié)

到此這篇關(guān)于java利用正則表達式處理特殊字符的文章就介紹到這了,更多相關(guān)java正則表達式處理特殊字符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • @Scheduled在springboot中的使用方式

    @Scheduled在springboot中的使用方式

    這篇文章主要介紹了@Scheduled在springboot中的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • java自定義JDBC實現(xiàn)連接池

    java自定義JDBC實現(xiàn)連接池

    本文主要介紹了java自定義JDBC實現(xiàn)連接池,包含實現(xiàn)JDBC連接池以及SQLException?異常的處理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • Java語法糖之個數(shù)可變的形參的實現(xiàn)

    Java語法糖之個數(shù)可變的形參的實現(xiàn)

    這篇文章主要介紹了Java語法糖之個數(shù)可變的形參的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • springboot結(jié)合websocket聊天室實現(xiàn)私聊+群聊

    springboot結(jié)合websocket聊天室實現(xiàn)私聊+群聊

    本文主要介紹了springboot結(jié)合websocket聊天室實現(xiàn)私聊+群聊,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值

    Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值

    這篇文章主要介紹了Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • JAVA之讀取properties時路徑的注意問題

    JAVA之讀取properties時路徑的注意問題

    這篇文章主要介紹了JAVA之讀取properties時路徑的注意問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringCloud用Zookeeper搭建配置中心的方法

    SpringCloud用Zookeeper搭建配置中心的方法

    本篇文章主要介紹了SpringCloud用Zookeeper搭建配置中心的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Spring?Boot?實現(xiàn)Redis分布式鎖原理

    Spring?Boot?實現(xiàn)Redis分布式鎖原理

    這篇文章主要介紹了Spring?Boot實現(xiàn)Redis分布式鎖原理,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • java垃圾回收原理之GC算法基礎(chǔ)

    java垃圾回收原理之GC算法基礎(chǔ)

    本章簡要介紹GC的基本原理和相關(guān)技術(shù), 下一章節(jié)再詳細講解GC算法的具體實現(xiàn)。各種垃圾收集器的實現(xiàn)細節(jié)雖然并不相同,但總體而言,垃圾收集器都專注于兩件事情:查找所有存活對象,拋棄其他的部分,即死對象,不再使用的對象
    2022-01-01
  • 深入了解SparkSQL中數(shù)據(jù)的加載與保存

    深入了解SparkSQL中數(shù)據(jù)的加載與保存

    這篇文章主要為大家詳細介紹了SparkSQL中數(shù)據(jù)的加載與保存的相關(guān)知識,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解下
    2023-11-11

最新評論