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....
所以指定分割的字元(串)時,最好不要包含用於正則表示式本身的字元,如上面的紅色字元;
相關推薦
Java中split()函式的用法及一些注意細節
String.split("要切割的準側")返回的是一個String[ ]的首地址;String.split("要切割的準側").length 返回的是這個String被切割後的子字串的個數(及被切割成了幾個段);String.split(""),此時,切割後的第一個段是空
Python中split()函式用法和例項
一、描述 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)。此方
hsql中split函式,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中的字串拆分方法 (類似java中split()與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類型的數據。用它來判斷某個對象是否是
Java中static關鍵字用法總結
副本 大括號 跟著 rac clas main 靜態成員變量 abstract 全局變量 1. 靜態方法 通常,在一個類中定義一個方法為static,那就是說,無需本類的對象即可調用此方法 聲明為static的方法有以下幾條限制: · 它們僅能調用其他的sta
Java中Synchronized的用法
turn 效果 互斥 obj href sta dem data 總結 《編程思想之多線程與多進程(1)——以操作系統的角度述說線程與進程》一文詳細講述了線程、進程的關系及在操作系統中的表現,這是多線程學習必須了解的基礎。本文將接著講一下Java線程同步中的一個
java中printf的用法
分數 兩個 col pri 進行 nbsp 十進制數 short 百分數 目前printf支持以下格式: %c 單個字符 %d 十進制整數 %f 十進制浮點數
Java中getResourceAsStream的用法
文件路徑 工程 大致 一個 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成神之——java中string的用法
基本 ble sta first stand pat concat lower a+b java中String的用法 String基本用法 String分割 String拼接 String截取 String換行符和format格式化 String反轉字符串和去除空白字符
python中split()的用法
例子 所有 color 參數 分隔 lin 第一個 num nbsp Python split() 通過指定分隔符對字符串進行切片,如果參數 num 有指定值,則僅分隔 num 個子字符串。 語法: str.split(str="", num=string.count(s
Java中final的用法總結
++ 標識符 ali 相同 即使 調用方法 理由 new 3.1 1. 修飾基礎數據成員的final 這是final的主要用途,其含義相當於C/C++的const,即該成員被修飾為常量,意味著不可修改。如java.lang.Math類中的PI和E是final
java中enum的用法總結
一、enum的語法與基本作用 建立一個列舉型別需要使用關鍵字enum,隱含了所建立的類都是java.lang.Enum的子類。列舉型別的每一個值都被對映到protect enum(String name, int ordinal);的建構函式中,在這裡列舉的每一個值都被轉換成一個字串