String神奇的split方法

2021-08-30 09:22:21 字數 1385 閱讀 9587

[size=medium]

string的split方法的使用:

今天我用的了string的split方法,我起初都是使用的是乙個引數的方法,今天發現有兩個引數的,看了一下api,開始感覺有點蒙,後來看了一下它 的例子,還在網上看了一些資料,後來我就理解了這個。

這個函式接收兩個引數,它的宣告是下面的樣子:

public string split(string regex, int limit)

它的含義就是: 按照前面的模式串進行limit-1次分割,如果limit小於0,會進行盡可能多次的匹配,如果limit是0,則也會進行盡可能多次的匹配,但是會消除最後的空字串。

根據函式的宣告我們可以看出前面應該是接收乙個模式串,後面乙個就不好看了,其實我們可以簡單的看一下它的含義,就是匹配次數,但是此時我估計你也會有點暈的。下面就來解釋一下它吧。limit引數影響著模式串被匹配的次數,它影響著最後的結果。

我們就來解釋一下它裡面的解釋吧,看完了咱們就理解了。

[/size]

the string "boo:and:foo", for example, yields the following results with these parameters:

regex limit result

: 2

: 5

: -2

o 5

o -2

o 0

[size=medium]

第乙個模式是:,匹配2-1=1次,所以結果很好理解;

第二個模式是:,匹配5-1=4次,第一次找到:,先把它刪掉,形成兩個串,boo和and:foo這兩個串,第二次找到:,將:刪掉,串就形成了boo and foo, 第三次找不到就返回了;

第三個模式是:,匹配次數是-2,它表明會盡可能多的進行匹配,和上面的情況是一樣的;

第四個模式是0,匹配次數是5-1=4次,第一次找到o,將他刪掉,串就分成了b和o:and:foo,第二次找到o,它前面沒有了,就返回乙個空串,結果為b "" :and:foo, 第三次找到o,將它刪掉,結果串為:b "" :and:f "", 剩餘乙個o,第四次找到o,將它刪掉,它前面沒有了,所以返回乙個空串,結果就是: "b" "" :and:f "" ""

第五個模式是:o,匹配次數是-2,表明會盡可能多的進行匹配,和上面的情況是一樣的

第六個模式是:0,匹配次數是0,表明會盡可能多的進行匹配,但是會消除空字串,結果也很好理解。

[/size]

String類的split方法

雖然使用正規表示式能很好的進行字串的解析 提取 替換,但是對於一些簡單的應用,使用 string 類提供的一些方法就可以很好的完成,最突出的就是 split 方法。split 方法能夠很方便的將字串按照一定的規則拆分開。比如對於下面的字串 tom,jane,tony,elva,gigi 只要呼叫如下...

java中string 的split函式

之前沒有在split函式 只是單純用了split regex 的方法做字串 今天遇到個人問 為什麼這個方法會導致最後的空字串消失,我一時回答不上了 就去翻看了下1.7jdk文件 在文件中我找到這樣的描述 split regex 函式是 呼叫split regex,limit 來實現的,limit 的...

PYTHON中String類的split 方法

split 拆分字串。通過指定分隔符對字串進行切片,並返回分割後的字串列表 list os.path.split 按照路徑將檔名和路徑分割開 函式說明 split 函式 語法 str.split str num string.count str n 引數說明 str 表示為分隔符,預設為空格,但是不...