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

仅在第一个实例上拆分字符串-java,java,string,split,Java,String,Split,我想用“=”字符分割字符串。但我只想一开始就把它分开。我该怎么做?下面是一个“u2;”字符的JavaScript示例,但它对我不起作用 例如: apple=fruit table price=5 当我尝试String.split('=');它给 [apple],[fruit table price],[5] 但我需要 [apple],[fruit table price=5] 谢谢 正如所解释的那样: 此方法返回的数组包含此字符串的每个子字符串,该子字符串由与给定表达式匹配的另一个子字符

我想用“=”字符分割字符串。但我只想一开始就把它分开。我该怎么做?下面是一个“u2;”字符的JavaScript示例,但它对我不起作用

例如:

apple=fruit table price=5
当我尝试String.split('=');它给

[apple],[fruit table price],[5]
但我需要

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

正如所解释的那样:

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

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" }

可以,只需将integer参数传递给split方法

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

stSplit.split("=", 2);

这里有一个java文档参考:

许多其他答案都建议使用极限方法,这可能是另一种方法

可以对字符串使用方法,该方法将返回给定字符的第一次出现,使用该索引可以获得所需的输出

String target = "apple=fruit table price=5" ;
int x= target.indexOf("=");
System.out.println(target.substring(x+1));
String[]func(字符串apple){
字符串[]tmp=新字符串[2];
对于(int i=0;i
默认情况下,split方法根据给定的正则表达式创建n个数组。但是如果要限制在split之后创建的数组数量,则将pass second参数作为整数参数。

此方法有效:

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]);
    }
}

你不需要逃避。
=
。问题出在哪里?包括更多细节,让你的答案不言自明!理解起来很混乱,但它确实有效!谢谢!一些澄清:限制2将返回最多2个元素的列表。如果与表达式不匹配,它可能返回1个元素的列表。如果与表达式有2个匹配,则返回1个元素的列表表达式中,返回数组的第二个元素将不会被拆分。这不会拆分,但会提取第二个部分。获取第一个部分将需要另一行代码…4行vs.1=拇指向下此方法不太有用,因为分隔符是硬编码的。此外,使用for循环实现线性搜索不会带来ad有利的是使用String .NoXOFF来找到第一个分隔符的位置。第三,看到多少个字符串元素返回是不直观的。当我们讨论将事物分割成两个时,考虑使用正好代表两个字符串的配对数据类型,而不是创建一个数组。
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_!
String string = "This is test string on web";
String splitData[] = string.split("\\s", 2);

Result ::
splitData[0] =>  This
splitData[1] =>  is test string  


String string = "This is test string on web";
String splitData[] = string.split("\\s", 3);

Result ::
splitData[0] =>  This
splitData[1] =>  is
splitData[1] =>  test string on web
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]);
    }
}