Java Can';t获取字符串拆分中的正则表达式示例
我无法从以下方面获得这些示例: 例如,对于Java Can';t获取字符串拆分中的正则表达式示例,java,regex,string,Java,Regex,String,我无法从以下方面获得这些示例: 例如,对于“boo:and:foo” 我无法理解结果。 我了解到,对于负极限,模式应用的次数尽可能多,对于正极限,模式应用的次数为n-1次,等等 但我不明白在每种情况下,结果数组是如何形成的 例如,在第一种情况下,为什么我们在位置1中有1“”,但在位置3和4中有2“”? 其余的也一样 有什么帮助吗?让我们从了解所有可能的拆分开始。我认为“b”和:和:f”是清楚的 空字符串来自于在o之间拆分(fo-“”-o,bo-“”-o),并在最后一个o-之后拆分,直到字符串的结
“boo:and:foo”
我无法理解结果。我了解到,对于负极限,模式应用的次数尽可能多,对于正极限,模式应用的次数为n-1次,等等 但我不明白在每种情况下,结果数组是如何形成的 例如,在第一种情况下,为什么我们在位置
1
中有1“”,但在位置3
和4
中有2“”?其余的也一样
有什么帮助吗?让我们从了解所有可能的拆分开始。我认为
“b”
和:和:f”
是清楚的
空字符串来自于在o
之间拆分(fo-“”-o
,bo-“”-o
),并在最后一个o-之后拆分,直到字符串的结尾,这也是一个空字符串
所以我们有5个匹配的字符串,拆分可以返回
如果我们使用5-进行拆分,我们最多返回5个子字符串,whcih正好是我们拥有的5个子字符串,从而得到第一个输出:
如果极限n大于零,则将应用该模式
最多n-1次,数组的长度将不大于n,并且
数组的最后一个条目将包含最后一个匹配项之外的所有输入
分隔符
如果使用-2进行拆分,则返回尽可能多的值[在本例中与5相同]:
如果n为非正,则该模式将应用尽可能多的次数
可能,数组可以有任意长度
如果我们使用0进行拆分,我们将返回尽可能多的值-但我们会丢弃所有尾随的空字符串:
如果n为零,则该模式将应用尽可能多的次数
可能的话,数组可以有任何长度,尾随空字符串
将被丢弃
注意:如果要忽略o
发生之间的空字符串,应使用regex“o+”
-进行拆分,这将尽可能多地占用o
,从而导致o
之间没有空字符串
直截了当
步骤1:处理boo:and:foo
"b" and "o:and:foo"
"" and ":and:foo"
":and:f" and "o"
"" and ""
步骤2:处理o:and:foo
"b" and "o:and:foo"
"" and ":and:foo"
":and:f" and "o"
"" and ""
步骤3:处理:和:foo
"b" and "o:and:foo"
"" and ":and:foo"
":and:f" and "o"
"" and ""
步骤4:处理o
"b" and "o:and:foo"
"" and ":and:foo"
":and:f" and "o"
"" and ""
案例2:它是负极限,因此它尝试尽可能多地应用“o”模式。因此同上。之后,我们剩下两个空字符串,没有更多的拆分应用
案例3:0,与案例2相同,但它会丢弃尾随的空字符串。因此,它会丢弃最后两个字符串为什么在步骤2中它是
“
和”:和:foo“
”,而不是普通的”:和:foo“
?它是一个拆分,始终会创建两个字符串。如果没有任何内容,将创建一个空字符串。所以,如果你把一个刺劈开,说“A”,你必须总是空字符串。(观察:<代码> String。Stult有非常奇怪的行为。)我个人的偏好是:“吉姆,请考虑接受,如果这回答了你的问题。”谢谢,祝你好运。