J'ai une chaîne qui est construite en trois parties. Le mot que je veux que la chaîne soit (changements), une partie séparée (ne change pas) et la dernière partie qui change. Je veux supprimer la partie distincte et la partie finale. La partie distincte est "-", donc je me demande si il existe un moyen de tout supprimer après une partie certaint de la chaîne.
Un exemple de ce scénario serait si je voulais transformer ceci: "Débordement de pile - Un endroit pour demander des choses" dans ceci: "Débordement de pile". Toute aide est appréciée!
Par exemple, vous pourriez faire:
String result = input.split("-")[0];
ou
String result = input.substring(0, input.indexOf("-"));
(et ajouter une gestion d'erreur pertinente)
Vous pouvez utiliser ceci
String substr = mysourcestring.substring(0,mysourcestring.indexOf("-"));
C’est peut-être ce que vous recherchez:
String str="Stack Overflow - A place to ask stuff";
String newStr = str.substring(0, str.indexOf("-"));
J'ai créé le programme exemple pour toutes les approches et SubString
semble être le plus rapide.
Using builder : 54
Using Split : 252
Using Substring : 10
Voici l'exemple de code de programme
for (int count = 0; count < 1000; count++) {
// For JIT
}
long start = System.nanoTime();
//Builder
StringBuilder builder = new StringBuilder(
"Stack Overflow - A place to ask stuff");
builder.delete(builder.indexOf("-"), builder.length());
System.out.println("Using builder : " + (System.nanoTime() - start)
/ 1000);
start = System.nanoTime();
//Split
String string = "Stack Overflow - A place to ask stuff";
string.split("-");
System.out.println("Using Split : " + (System.nanoTime() - start)
/ 1000);
//SubString
start = System.nanoTime();
String string1 = "Stack Overflow - A place to ask stuff";
string1.substring(0, string1.indexOf("-"));
System.out.println("Using Substring : " + (System.nanoTime() - start)
/ 1000);
return null;
Cela fera ce dont vous avez besoin:
newValue = oldValue.substring(0, oldValue.indexOf("-");
vous pouvez mes utils méthode cette action ..
public static String makeTwoPart(String data, String cutAfterThisWord){
String result = "";
String val1 = data.substring(0, data.indexOf(cutAfterThisWord));
String va12 = data.substring(val1.length(), data.length());
String secondWord = va12.replace(cutAfterThisWord, "");
Log.d("VAL_2", secondWord);
String firstWord = data.replace(secondWord, "");
Log.d("VAL_1", firstWord);
result = firstWord + "\n" + secondWord;
return result;
}`
String line = "deltaasm:/u01/app/Oracle/product/11.2.0/dbhome_1:N # line addred by agent";
String rep = "deltaasm:";
String after = "";
String pre = ":N";
String aft = "";
String result = line.replaceAll(rep, after);
String finalresult = result.replaceAll(pre, aft);
System.out.println("Result***************" + finalresult);
String str = "deltaasm:/u01/app/Oracle/product/11.2.0/dbhome_1:N # line addred by agent";
String newStr = str.substring(0, str.indexOf("#"));
System.out.println("======" + newStr);