Je veux diviser une chaîne par '=' charecter. Mais je veux qu'il se scinde en première instance seulement. Comment puis je faire ça ? Voici un exemple JavaScript pour le caractère '_' mais cela ne fonctionne pas pour moi chaîne divisée uniquement à la première instance du caractère spécifié
Exemple :
Apple=fruit table price=5
Quand j'essaye String.split ('='); il donne
[Apple],[fruit table price],[5]
Mais, j'ai besoin
[Apple],[fruit table price=5]
Merci
string.split("=", 2);
Comme String.split(Java.lang.String regex, int limit)
explique:
Le tableau renvoyé par cette méthode contient chaque sous-chaîne de cette chaîne qui se termine par une autre sous-chaîne correspondant à l'expression donnée ou se termine à la fin de la chaîne. Les sous-chaînes du tableau sont dans l'ordre dans lequel elles apparaissent dans cette chaîne. Si l'expression ne correspond à aucune partie de l'entrée, le tableau résultant ne contient qu'un seul élément, à savoir cette chaîne.
Le paramètre
limit
contrôle le nombre d'applications du motif et affecte donc la longueur du tableau résultant. Si la limite n est supérieur à zéro, le motif sera appliqué au maximum n - 1 fois, la longueur du tableau ne sera pas supérieure à net la dernière entrée du tableau contiendra toutes les entrées au-delà du dernier délimiteur mis en correspondance.La chaîne
boo:and:foo
, par exemple, donne les résultats suivants avec ces paramètres: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" }
Oui, vous pouvez simplement passer le paramètre entier à la méthode split
String stSplit = "Apple=fruit table price=5"
stSplit.split("=", 2);
Voici une référence à la doc Java: String # split (Java.lang.String, int)
Comme beaucoup de réponses suggèrent l'approche limite, cela peut être une autre façon
Vous pouvez utiliser la méthode indexOf sur String qui renvoie la première occurrence du caractère donné. En utilisant cet index, vous pouvez obtenir le résultat souhaité.
String target = "Apple=fruit table price=5" ;
int x= target.indexOf("=");
System.out.println(target.substring(x+1));
String slpitString[] = stringInToSearch.split("pattern", 2);
Essayez ce code ...
Ça marche.
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]);
}
}