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




text split java (5)

我想通过'='charecter分割一个字符串。 但我希望它仅在第一个实例上分割。 我怎样才能做到这一点 ? 这里是'_'char的JavaScript示例,但它不适用于我在指定字符的第一个实例上拆分字符串

示例:

apple=fruit table price=5

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

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

但是我需要

[apple],[fruit table price=5]

谢谢


正如许多其他答案提出的限制方法一样,这可能是另一种方式

您可以在String上使用indexOf方法,该方法将返回给定字符的第一个Occurance,使用该索引可以获得所需的输出

String target = "apple=fruit table price=5" ;
int x= target.indexOf("=");
System.out.println(target.substring(x+1));


string.split("=", 2);

作为String.split(java.lang.String regex, int limit)解释:

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

limit参数控制模式应用的次数,因此影响结果数组的长度。 如果极限值n大于零,那么模式将最多应用n -1次,数组的长度不会大于n ,并且数组的最后一项将包含超出最后匹配分隔符的所有输入。

例如,字符串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" }

试试这个代码...

它的工作。

public class Split
{
    public static void main(String...args)
    {
        String a = "%abcdef&Ghijk%xyz";
        String b[] = a.split("%", 2);

        System.out.println("Value = "+b[1]);
    }
}

String[] func(String apple){
String[] tmp = new String[2];
for(int i=0;i<apple.length;i++){
   if(apple.charAt(i)=='='){
      tmp[0]=apple.substring(0,i);
      tmp[1]=apple.substring(i+1,apple.length);
      break;
   }
}
return tmp;
}
//returns string_ARRAY_!

我喜欢写自己的方法:)





split