❶ 請問split("\\.")是什麼意思(java代碼)
split是按照指定的字元分割字元串為字元串數組,這里的分隔符比較特殊,是.所以要加反斜杠進行轉義,也就是達到利用.分割字元串的效果。
比如x.y.z 調用split("\\.")後得到數組[x,y,z]
❷ Java split方法
java中String的split方法有兩個,
split(Stringregex) 根據給定正則表達式的匹配拆分此字元串。例如:將下列字元串以「a」分割,
其中:limit來限制被分割後數組的元素個數;
❸ java中split怎麼用
split函數中的參數是正則表達式,當然也可以是普通字元
一普通字元:
String ip = "192.168.1.1";
String a[] = ip.split("\\.");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
String ipName = ip.replaceAll("\\.", "-");
System.out.println(ipName);
String[] ipArr = ipName.split("-");
for(int i=0;i<ipArr.length;i++){
System.out.println(ipArr[i]);
}
❹ java中split如何使用
應該這樣
String[] a = "123\"},{\"456".split("\"\\},\\{\"");
因為} {這兩個字元在正則表達式中是有特殊意義的 所以需要進行轉義
正則表達式的轉義標識是 \ 所以要加\ 但是因為Java字元串的轉義標識也是\ 所以需要再轉義\ 以表示 正則表達式的\字元
所以} 應該在正則表達式字元串中寫成 \\}
其他同理
❺ java的split("//.")方法,對「.」分割
split的參數是String regex,也就是正則表達式,裡面的.號有特殊作用
所以java中函數split(".")必須是split("\."),而不是split("//."),樓主你沒分清斜杠和反斜杠,這是教訓,要記住。
例:
樓主若覺得回答有所幫助,望採納,謝謝!
❻ Java的split()是怎麼拆分字元串的
java拆分字元串使用string類的spilt方法,針對某個分隔符來分割一個字元串,示例如下:
public class StringSplit {
public static void main(String[] args) {
String sourceStr = "1,2,3,4,5";//一個字元串
String[] sourceStrArray = sourceStr.split(",");//分割出來的字元數組
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
// 最多分割出3個字元串
int maxSplit = 3;
sourceStrArray = sourceStr.split(",", maxSplit);
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
}
}
輸出結果為:
2
4
1
3,4,5
❼ java split()根據換行符號截取字元串為數組
classMain{);
staticpublic);
voidmain(String[]str));
{Strings="1234567\n890\n110A";String[]array=s.split("[\\t\\n]+");
for(int i=0;i<array.length;i++)System.out.println(array[i]));
}//main);
}//class);
字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[9]="j",而字元串的零位正是它的長度。
函數應用
1、連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.
例:concat(『11』,'aa』)='11aa』;
2、求子串。 Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。
例:(『abdag』,2,3)=』bda』
3、刪除子串。過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。
例:s:=』abcde』;delete(s,2,3);結果s:=』ae』
以上內容參考:網路-字元串
❽ 我想用split(";")來分隔我的Java代碼, 但是若是字元串中有`;`我該怎麼辦
你的問題在於轉義的雙引號字元串內的分號不應該拿來分割。未解決這個問題只能將轉義的部分單獨截取出來,不參與分割,等其他部分分割結束後,再將轉義的內容拼接進去即可。
為防止雙引號轉義符內部還有其他雙引號轉義符"的影響,對\"用#@#佔位符將之替換。
需要引入第三方工具類輔助進行佔位符替換:
import org.apache.commons.lang3.StringUtils;
依賴為:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
代碼為:
public class Main {
public static void main(String[] args) {
String a = "String a = ";";String b = "aaaa";";
String b = "String a = "\";";String b = "aaaa";";
System.out.println(codeSplit(a));
System.out.println(codeSplit(b));
}
private static List<String> codeSplit(String a){
//排除雙引號轉義符內部還有其他雙引號轉義符"的影響,用「#@#」佔位符將之替換
a = StringUtils.replace(a, "\"", "#@#");
List<String> result = new ArrayList<>();
boolean start = true;//檢查雙引號轉義符,為true時代表找到雙引號轉義符的左轉義符,為false時代表找到雙引號轉義符的右轉義符
while (a.indexOf(""") > 0) {
int index = a.indexOf(""");//index:雙引號左轉義符位置
//發現雙引號轉義符時,將當前字元串的(0 至 index + 1)字元截取出來作為tmp
String tmp = a.substring(0, index + 1);
a = a.substring(index + 1);//將截取剩下的部分重新賦值給原字元串
if (start) {
//發現雙引號轉義符的左轉義符,對tmp字元串按分號進行分割,將不為空的結果添加到結果集中
String[] stArr = tmp.split(";");
for (String s : stArr) {
if (s.length() > 0) {
result.add(s);
}
}
} else {
//發現雙引號轉義符的右轉義符,不進行分割,將tmp字元串拼接到結果集的最後一個字元串中
String end = result.get(result.size() - 1);
end += tmp;
result.remove(result.size() - 1);
result.add(end);
}
start = !start;//轉置雙引號轉義符標志,正常情況下雙引號轉義符必須成對出現,否則將得到預期外的結果
}
//跳出循環後對剩餘的a字元串再做一次分割
String[] stArr = a.split(";");
for (String s : stArr) {
if (s.length() > 0) {
result.add(s);
}
}
//將結果集內的「#@#」佔位符還原為"
return result.stream().map(s -> StringUtils.replace(s, "#@#", "\"")).collect(Collectors.toList());
}
}
❾ java中split的用法問題
Java中的我們可以利用split把字元串按照指定的分割符進行分割,然後返回字元串數組,下面是string.split的用法實例及注意事項:
java.lang.string.split
split 方法
將一個字元串分割為子字元串,然後將結果作為字元串數組返回。
stringObj.split([separator,[limit]])
stringObj
必選項。要被分解的 String 對象或文字,該對象不會被split方法修改。
separator
可選項。字元串或正則表達式對象,它標識了分隔字元串時使用的是一個還是多個字元。如果忽略該選項,返回包含整個字元串的單一元素數組。
limit
可選項。該值用來限制返回數組中的元素個數(也就是最多分割成幾個數組元素,只有為正數時有影響)
split 方法的結果是一個字元串數組,在 stingObj 中每個出現 separator 的位置都要進行分解。separator不作為任何數組元素的部分返回。
示例1:
String str="Java string split test";
String[] strarray=str.split(" ");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將輸出:
Java
string
split
test
示例2:
String str="Java string split test";
String[] strarray=str.split(" ",2);//使用limit,最多分割成2個字元串
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將輸出:
Java
string split test
示例3:
String str="192.168.0.1";
String[] strarray=str.split(".");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
結果是什麼也沒輸出,將split(".")改為split("//."),將輸出正確結果:
192
168
0
1
經驗分享:
1、分隔符為「.」(無輸出),「|」(不能得到正確結果)轉義字元時,「*」,「+」時出錯拋出異常,都必須在前面加必須得加"//",如split(//|);
2、如果用"/"作為分隔,就得寫成這樣:String.split("////"),因為在Java中是用"//"來表示"/"的,字元串得寫成這樣:String Str="a//b//c";
轉義字元,必須得加"//";
3、如果在一個字元串中有多個分隔符,可以用"|"作為連字元,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每個字元串分開;
註:參考網址http://blog.csdn.net/lifuxiangcaohui/article/details/8480921
-------------------------------------------我來自【Java時空】團隊,希望可以幫到您
❿ java編程split(".")
split("\.")
在split("裡面放入雙斜桿.")就能分割了,應為.是轉譯字元。
因為裡面是正則表達式。