作者csihcs (非天夜翔)
站内java
标题Re: [问题] 关於string的API
时间Fri May 23 14:26:33 2008
※ 引述《superlubu (叔叔你人真好)》之铭言:
※ 引述《upo (谁说这是个公平的世界)》之铭言:
: 标题: [问题] 关於string的API
: 时间: Fri May 23 12:22:44 2008
: split
: public String[] split(String regex)根据给定正则运算式的匹配拆分此字串。
: 该方法的作用就像是使用给定的运算式和限制引数 0 来呼叫两引数 split 方法
: 。因此,所得阵列中不套件括结尾空字串。
:
: 另外在 Regex 结果
: : { "boo", "and", "foo" }
: o { "b", "", ":and:f" } ←这里
:
所以我说... 看 API 还是去看英文版的好... 阿六版的翻译实在是比英文更难懂 f-.-
Splits this string around matches of the given regular expression.
This method works as if by invoking the two-argument split method with the giv
en expression and a limit argument of zero.
Trailing empty strings are therefo
re not included in the resulting array.
boo:and:foo 用
o 来当成 seperator,连续的 o 中间有一个
empty string "", 所以会是
"boo:and:foo*"
->
"b","o","o:and:foo*"
->
"b","o","","o",":and:foo*"
->
"b","o","","o",":and:f","o","o*"
->
"b","o","","o",":and:f","o","","o","*"
->
"b","o","","o",":and:f","o","","o",""
在这边我用 * 代表 String terminal char (字串结尾字元)
这几行蓝色字代表尚未处理的字串
这几行红色字代表处理後非区隔字串,结果所要的部份
这几行绿色字代表处理後的区隔字串,结果是不保留这个部份
把 o 当分隔产生
"b","o","","o",":and:f","o","","o",""
因为是用 "o" 当分隔,所以 "o" 不会出现在结果阵列
结果就是
{
"b", "", ":and:f", "", "" }
然後因为 API 里黄色的那个说明,Trailing empty strings are not included
所以正确的结果会是
{
"b", "", ":and:f" }
唉~~我也快看不懂有必要在补充这篇吗
感觉 super 大已经说的很明白了呀 >"<
--
很多人以为 所以我要 其实我是个
我是
大学生 告诉大家 三十一岁的
怪叔叔
● ●/ ︿ ︿
/
劲\ <
劲 ●
ㄨ /\ ㄨ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 147.8.127.102
※ 编辑: superlubu 来自: 147.8.127.102 (05/23 12:45)
1F:推 upo:不好意思~请问为什麽连续的o中间会有一个empty string? 05/23 12:57
2F:推 csihcs:因为是以 "o" 作为分隔,遇到 "o" 就分隔一次 05/23 13:01
3F:推 upo:不好意思~再请问boo的第二个o後面为什麽没有empty string呢??? 05/23 13:13
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.30.81
※ 编辑: csihcs 来自: 59.104.30.81 (05/23 14:40)
4F:推 superlubu:最後那个 o 与 string termination char 间也有一个 "" 05/23 14:42
※ 编辑: csihcs 来自: 59.104.30.81 (05/23 17:14)