仅在第一个实例上拆分字符串 - java

2022-08-31 06:25:28

我想按“=”字符拆分字符串。但我希望它仅在第一个实例上拆分。我该怎么做?这是一个'_'char的JavaScript示例,但它只适用于指定字符的第一个实例的拆分字符串

例:

apple=fruit table price=5

当我尝试String.split('=');它给

[apple],[fruit table price],[5]

但我需要

[apple],[fruit table price=5]

谢谢


答案 1
string.split("=", 2);

正如 String.split(java.lang.String regex, int limit) 所解释的:

此方法返回的数组包含此字符串的每个子字符串,该子字符串由与给定表达式匹配的另一个子字符串终止,或者由字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式与输入的任何部分都不匹配,则生成的数组只有一个元素,即此字符串。

该参数控制应用模式的次数,因此会影响结果数组的长度。如果限制 n 大于零,则模式将最多应用 n - 1 次,数组的长度将不大于 n,数组的最后一个条目将包含除最后匹配的分隔符之外的所有输入。limit

例如,字符串使用这些参数产生以下结果:boo:and:foo

Regex Limit    Result
:     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" }

答案 2

是的,您可以,只需将整数参数传递给拆分方法

String stSplit = "apple=fruit table price=5"

stSplit.split("=", 2);

这是一个java文档参考:String#split(java.lang.String,int)