Java中split根據(jù)"."分割字符串問題舉例
1. 為啥str.split(“.”) 分割出來的是空的
split() 方法根據(jù)匹配給定的正則表達式來拆分字符串。
注意: . $ | * 等轉義字符,必須得加 \\。
因此,應該用str.split(“\\.”)
2. Java中的轉義字符 Escape Character
字母前加上"\"來表示一些不能顯示的ASCII字符,如\0,\t,\n等,因為0,t,n等都不是原本ASCII表中的意思了,所以稱為轉義字符。
格式為:\+要轉義的字符
3. 正則表達式中的轉義符
正則表達式中的轉義符也為"\"。所以在java中書寫正則表達式時,要先通過java的轉義再通過正則表達式的轉義才是真正要的表達式。
舉例
想要實現(xiàn)將字符串str = “192.168.0.1” 按照“.”進行分割。
使用split(String regex)方法,regex 為正則表達式分隔符。
由于正則表達式中"." 是一個具有特殊意義的字符,它可用于匹配任何字符。
因此需要轉義符“\”,即正則表達式為regex = “\.”
但是轉義符"\“在java中也充當著轉義符,因此還要對”\“進行轉義。
所以正則表達式要寫成 “\\.”
String[] strs = str.split(”\\.")
補充:java的split方法分割字符串(分隔符如* | . ^ )及注意點
1、split表達式,其實就是一個正則表達式。* | . ^ 等符號在正則表達式中屬于一種有特殊含義的字符,如果使用此種字符作為分隔符,必須使用轉義符即\加以轉義。
String add1="南京*建鄴區(qū)";
String[] splitAdd1=add1.split("\\*");
System.out.println(splitAdd1[0]+splitAdd1[1]);
String add2="南京|建鄴區(qū)";
String[] splitAdd2=add2.split("\\|");
System.out.println(splitAdd2[0]+splitAdd2[1]);
String add3="南京.建鄴區(qū)";
String[] splitAdd3=add3.split("\\.");
System.out.println(splitAdd3[0]+splitAdd3[1]);
String add4="南京^建鄴區(qū)";
String[] splitAdd4=add4.split("\\^");
System.out.println(splitAdd4[0]+splitAdd4[1]);2、如果使用多個分隔符則需要借助 | 符號。
String address="南京1^南京2*南京3#南京4|南京5";
String[] splitAddress=address.split("\\^|\\*|#|\\|");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]+splitAddress[4]);
總結
到此這篇關于Java中split根據(jù)"."分割字符串問題的文章就介紹到這了,更多相關Java split根據(jù).分割字符串內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java字符串數(shù)組進行大小排序的簡單實現(xiàn)
下面小編就為大家?guī)硪黄猨ava字符串數(shù)組進行大小排序的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
java基礎之初始化ArrayList時直接賦值的4種方式總結
ArrayList是Java中的一個類,它是Java集合框架中的一部分,用于實現(xiàn)動態(tài)數(shù)組,下面這篇文章主要給大家介紹了關于java基礎之初始化ArrayList時直接賦值的4種方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07
Spring的BeanUtils.copyProperties屬性復制避坑指南
這篇文章主要介紹了Spring的BeanUtils.copyProperties屬性復制避坑指南,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
JAVA重復調用接口導致數(shù)據(jù)不一致的問題解決
在使用JAVA進行開發(fā)時,我們經常會遇到要調用接口來獲取數(shù)據(jù)的情況,本文主要介紹了JAVA重復調用接口導致數(shù)據(jù)不一致的問題解決,具有一定的參考價值,感興趣的可以了解一下2024-01-01
關于Java并發(fā)編程中線程間協(xié)作的兩種方式
這篇文章主要介紹了關于Java并發(fā)編程中線程間協(xié)作的兩種方式,當隊列滿時,生產者需要等待隊列有空間才能繼續(xù)往里面放入商品,而在等待的期間內,生產者必須釋放對臨界資源的占用權,這是消費者模式,需要的朋友可以參考下2023-07-07

