1. 程式人生 > >Java中的split函式的用法

Java中的split函式的用法

Java中的 split  函式是用於按指定字元(串)或正則去分割某個字串,結果以字串陣列形式返回;

例如:

String str="[email protected]";
String[] a = str.split("@");
System.out.println("處理結果: "+a[0]+","+a[1]);   //輸出的是: 處理結果: 1234,abc

對於分割的字元(串),通常是常見,普通的,沒什麼問題;

但是對某些特殊字元,如果字元(串)正好是正則的一部分,則需要轉義才能使用,

這些字元有 | , + , * , ^ , $ , / , | , [ , ] , ( , ) , - , . , \
等, 因它們是正則表示式中的一部分, 所以如果想用該字元本身, 這些字元需要進行轉義才能表示它本身;

例如: 

想用 | 豎線去分割某字元,因 | 本身是正則表示式中的一部分,所以需要 \ 去轉義,因轉義使用 \, 而這個 \ 正好也是正則表示式的字元,所以還得用一個 \ , 所以需要兩個 \\。

String str="5678|XYZ";
String[] b = str.split("\\|");  //注意這裡用兩個 \\,而不是一個\
System.out.println("處理結果: "+b[0]+","+b[1]);   //輸出的是: 處理結果: 5678,XYZ

再來看看:

String str="5678|XYZ";
String[] b = str.split("|");  //注意直接使用|,該字元是正則表示式的一部分,
String x="處理結果: ";
for(int i=0;i<b.length;i++){
	x=x+b[i]+",";
}
System.out.println(x);   //輸出的是: 處理結果: 5,6,7,8,|,X,Y,Z,

可能我們人為主觀感覺是用 | 來分割希望得到 5678 和 XYZ,因用特殊字元,實際結果是得到意外的結果;
今天下午就這個地方耗了幾個小時,頭暈才發現問題所在,555....

所以指定分割的字元(串)時,最好不要包含用於正則表示式本身的字元,如上面的紅色字元;

相關推薦

Javasplit()函式用法及一些注意細節

String.split("要切割的準側")返回的是一個String[ ]的首地址;String.split("要切割的準側").length 返回的是這個String被切割後的子字串的個數(及被切割成了幾個段);String.split(""),此時,切割後的第一個段是空

Pythonsplit()函式用法和例項

一、描述 split()通過指定分隔符對字串進行切片,如果引數num 有指定值,則僅分隔 num 個子字串 函式形式:str.split(str="", num=string.count(str)) 引數: str -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表

JAVA——String.split函式用法總結

今天碰到一道輸入格式題,大佬們都在用split,只有我在一點點模擬,羞愧羞愧,在這裡把split函式邊學習邊整理一下,ORZ。 首先,split函式分為兩種: 一是:split(regex),引數為要分隔的字串或者正則表示式。 二是:ss.split(regex, limit)。此方

hsqlsplit函式,lateral view explode的常規用法

1.split()函式 hsql中split(item,'分隔符')   2.lateral view explode將複雜結構一行拆成多行,實現行轉列,如 id     name 1      hell,

java輸入函式next的用法

用法 獲取控制檯輸入: Scanner in = new Scanner(System.in); 輸入整數: int a = in.nextInt(); 或者 double a = in.nextDouble; 輸入字串: String str = in.nex

java .split( )用法

print rgs 福建 河北 sta 新疆 陜西 方法 雲南 創建main方法: public class StrTest { public static void main(String[] args) { String str = "北京,天津,上海,重慶,

一:Vue的join(),reverse()與 split()函式用法解析

Html<div id="app-5"> <p>{{ message }}</p> <button v-on:click="reverseMessage

Mysql的字串拆分方法 (類似javasplit()與PaAdmin庫的split_part()函式)

【原理】://fSELECT  SUBSTRING_INDEX('a,b,c,d,e,f',',',-1) ; -- f != 'a,b,c,d,e,f'//eSELECT  SUBSTRING_INDEX('a,b,c,d,e,f',',',-2) ; -- e,f !=

python切片split()函式用法

函式:split() Python中有split()和os.path.split()兩個函式,具體作用如下: split():拆分字串。通過指定分隔符對字串進行切片,並返回分割後的字串列表(list) os.path.split():按照路徑將檔名和路徑分割開 一

關於JAVA字串函式subString()的用法

String str; str=str.substring(int beginIndex);擷取掉str從首字母起長度為beginIndex的字串,將剩餘字串賦值給str; str=str.substring(int beginIndex,int endIndex);擷取st

java的instanceof用法詳解

定義 xtend print 繼承 interface 參數 保留 如果 ack   instanceof是Java的一個二元操作符(運算符),也是Java的保留關鍵字。它的作用是判斷其左邊對象是否為其右邊類的實例,返回的是boolean類型的數據。用它來判斷某個對象是否是

Javastatic關鍵字用法總結

副本 大括號 跟著 rac clas main 靜態成員變量 abstract 全局變量 1. 靜態方法 通常,在一個類中定義一個方法為static,那就是說,無需本類的對象即可調用此方法 聲明為static的方法有以下幾條限制: · 它們僅能調用其他的sta

JavaSynchronized的用法

turn 效果 互斥 obj href sta dem data 總結 《編程思想之多線程與多進程(1)——以操作系統的角度述說線程與進程》一文詳細講述了線程、進程的關系及在操作系統中的表現,這是多線程學習必須了解的基礎。本文將接著講一下Java線程同步中的一個

javaprintf的用法

分數 兩個 col pri 進行 nbsp 十進制數 short 百分數 目前printf支持以下格式: %c 單個字符 %d 十進制整數 %f 十進制浮點數

JavagetResourceAsStream的用法

文件路徑 工程 大致 一個 contex servlet cat 最終 resource 首先,Java中的getResourceAsStream有以下幾種: 1. Class.getResourceAsStream(String path) : path 不以’/‘開頭時

java.currentTimeMillis的用法和含義

imp public out 不同的 轉化 println mtime 時間格式化 time 用法:可以用法獲取當前時間的毫秒數,可以通過毫秒數進行時間比較,時間轉化以及時間格式化等。public class SystemTime {public static void m

java成神之——javastring的用法

基本 ble sta first stand pat concat lower a+b java中String的用法 String基本用法 String分割 String拼接 String截取 String換行符和format格式化 String反轉字符串和去除空白字符

pythonsplit()的用法

例子 所有 color 參數 分隔 lin 第一個 num nbsp Python split() 通過指定分隔符對字符串進行切片,如果參數 num 有指定值,則僅分隔 num 個子字符串。 語法: str.split(str="", num=string.count(s

Javafinal的用法總結

++ 標識符 ali 相同 即使 調用方法 理由 new 3.1 1. 修飾基礎數據成員的final 這是final的主要用途,其含義相當於C/C++的const,即該成員被修飾為常量,意味著不可修改。如java.lang.Math類中的PI和E是final

javaenum的用法總結

一、enum的語法與基本作用 建立一個列舉型別需要使用關鍵字enum,隱含了所建立的類都是java.lang.Enum的子類。列舉型別的每一個值都被對映到protect enum(String name, int ordinal);的建構函式中,在這裡列舉的每一個值都被轉換成一個字串