web-dev-qa-db-fra.com

Comment supprimer tous les caractères avant un caractère spécifique en Java?

J'ai une chaîne et j'obtiens de la valeur par le biais d'un formulaire html. Lorsque j'obtiens cette valeur, elle apparaît dans une URL. Je souhaite donc supprimer tous les caractères précédant le caractère spécifique, à savoir =. Je veux seulement sauvegarder la valeur qui vient après = car je dois extraire cette valeur de la variable.

EDIT: J'ai besoin de supprimer le = aussi, car j'essaie d'obtenir les caractères/la valeur de la chaîne après cela ...

6
Shariq Musharaf

Vous pouvez utiliser .substring():

String s = "the text=text";
String s1 = s.substring(s.indexOf("=")+1);
s1.trim();

alors s1 contient tout ce qui suit le = dans la chaîne d'origine.

s1.trim ()

.trim() supprime les espaces avant le premier caractère (qui n'est pas un espace, tels que des lettres, des chiffres, etc.) d'une chaîne (espaces de début) et supprime également les espaces après le dernier caractère (espaces de fin).

19
ItamarG3

Bien qu'il y ait beaucoup de réponses. Voici un exemple de regex

String test = "eo21jüdjüqw=realString";
test = test.replaceAll(".+=", "");
System.out.println(test);

// prints realString

Explication:

.+ correspond à n'importe quel caractère (sauf les fins de ligne)
+ Quantifier - Correspond entre un temps illimité et un nombre illimité, autant de fois que possible, en rendant au besoin (gourmand)
= correspond au caractère = littéralement (sensible à la casse)

Il s’agit également d’un copier-coller ombré de https://regex101.com/ où vous pouvez essayer de regex.

2
Murat Karagöz

Vous pouvez scinder la chaîne de = et séparer en tableau et prendre la deuxième valeur du tableau que vous spécifiez après le signe =.

String CurrentString = "Fruit = they taste good"; String[] separated = CurrentString.split("="); separated[0]; // this will contain "Fruit" separated[1]; //this will contain "they teste good"

alors séparé [1] contient tout ce qui suit after = dans la chaîne d'origine.

1
Arjun Mehta

Peut-être localiser la première occurrence du caractère dans la chaîne d'URL. Par exemple:

String URL = "http://test.net/demo_form.asp?name1=stringTest";

int index = URL.indexOf("=");

Ensuite, divisez la chaîne en fonction d'un index

String Result = URL.substring(index+1); //index+1 to skip =

Le résultat de la chaîne contient maintenant la valeur: stringTest

1
yogur