程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java字符串分割

Java字符串分割

編輯:關於JAVA

1. java.lang.String 的 split() 方法, JDK 1.4 or later

split

public String[] split(String regex,

int limit)

根據匹配給定的正則表達式來拆分此字符串。

此方法返回的數組包含此字符串的每個子字符串,這些子字符串由另一個匹配給定的表達式的子字符串終止或由字符串結束來終止。數組中的子字符串按它們在此字符串中的順序排列。如果表達式不匹配輸入的任何部分,則結果數組只具有一個元素,即此字符串。

limit 參數控制模式應用的次數,因此影響結果數組的長度。如果該限制 n 大於 0,則模式將被最多應用 n - 1 次,數組的長度將不會大於 n,而且數組的最後項將包含超出最後匹配的定界符的所有輸入。如果 n 為非正,則模式將被應用盡可能多的次數,而且數組可以是任意長度。如果 n 為零,則模式將被應用盡可能多的次數,數組可有任何長度,並且結尾空字符串將被丟棄。

例如,字符串 "boo:and:foo" 使用這些參數可生成下列結果:

Regex

Limit

結果

:

2

{ "boo", "and:foo" }

:

5

{ "boo", "and", "foo" }

:

-2

{ "boo", "and", "foo" }

o

5

{ "b", "", ":and:f", "", "" }

o

-2

{ "b", "", ":and:f", "", "" }

o

0

{ "b", "", ":and:f" }

這種形式的方法調用 str.split(regex, n) 產生與以下表達式完全相同的結果:

Pattern.compile(regex).split(str, n)

參數:

regex - 定界正則表達式

limit - 結果阈值,如上所述

返回:

字符串數組,根據給定正則表達式的匹配來拆分此字符串,從而生成此數組

拋出:

PatternSyntaxException - 如果正則表達式的語法無效

從以下版本開始:

1.4

另請參見:

Pattern

--------------------------------------------------------------------------------

split

public String[] split(String regex)

根據給定的正則表達式的匹配來拆分此字符串。

該方法的作用就像是使用給定的表達式和限制參數 0 來調用兩參數 split 方法。因此,結果數組中不包括結尾空字符串。

例如,字符串 "boo:and:foo" 產生帶有下面這些表達式的結果:

Regex

結果

:

{ "boo", "and", "foo" }

o

{ "b", "", ":and:f" }

參數:

regex - 定界正則表達式

返回:

字符串數組,根據給定正則表達式的匹配來拆分此字符串,從而生成此數組。

拋出:

PatternSyntaxException - 如果正則表達式的語法無效

從以下版本開始:

1.4

另請參見:

Pattern

2. java.util.Tokenizer JDK 1.0 or later

string tokenizer 類允許應用程序將字符串分解為標記。tokenization 方法比 StreamTokenizer 類所使用的方法更簡單。StringTokenizer 方法不區分標識符、數和帶引號的字符串,它們也不識別並跳過注釋。

可以在創建時指定,也可以根據每個標記來指定分隔符(分隔標記的字符)集合。

StringTokenizer 的實例有兩種行為方式,這取決於它在創建時使用的 returnDelims 標志的值是 true 還是 false:

· 如果標志為 false,則分隔符字符用來分隔標記。標記是連續字符(不是分隔符)的最大序列。

· 如果標志為 true,則認為那些分隔符字符本身即為標記。因此標記要麼是一個分隔符字符,要麼是那些連續字符(不是分隔符)的最大序列。

StringTokenizer 對象在內部維護字符串中要被標記的當前位置。某些操作將此當前位置移至已處理的字符後。

通過截取字符串的一個子串來返回標記,該字符串用於創建 StringTokenizer 對象。

下面是一個使用 tokenizer 的實例。代碼如下:

StringTokenizer st = new StringTokenizer("this is a test");

while (st.hasMoreTokens()) {

System.out.println(st.nextToken());

}

輸出以下字符串:

this

is

a

test

StringTokenizer 是出於兼容性的原因而被保留的遺留類(雖然在新代碼中並不鼓勵使用它)。建議所有尋求此功能的人使用 String 的 split 方法或 java.util.regex 包。

下面的示例闡明了如何使用 String.split 方法將字符串分解為基本標記:

String[] result = "this is a test".split("\\s");

for (int x=0; x

System.out.println(result[x]);

輸出以下字符串:

this

is

a

test

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved