2011-09-21 6 views
1

Je recherche le texte suivant dans une chaîne d'entrée: +BobSupprimer un caractère de la chaîne?

Si le programme trouve +Bob, je veux retirer le + avant Bob

Cependant, je ne veux pas le programme pour éliminer tous + , + est avant ou après Bob, avec ou sans espaces intermédiaires. Ainsi, une chaîne par exemple de: + Bob compte toujours comme +Bob.

+0

que cela signifie que vous voulez supprimer le '' + quand il tombe avant 'bob', comme s'il y avait 10 des espaces entre '+' et 'bob' ou prenez-vous juste en compte l'espace unique? – Beef

+0

la première chose que vous avez dit – Confiqure

+0

Qu'essayez-vous finalement d'accomplir ici? Avec tous les changements apportés à la question, je commence à me demander si vous allez dans ce sens. –

Répondre

7
String str = "+Bob foo + bar"; 
str = str.replace("+Bob", "Bob"); 
System.out.println(str); 

Bob foo + bar

Pour gérer un espace entre + et Bob vous pouvez utiliser des expressions régulières:

String str = "+Bob foo + bar"; 
str = str.replaceAll("\\+\\s*Bob", "Bob"); 

Pour vérifier un plus tard, utilisez

str = str.replaceAll("Bob\\s*\\+", "Bob"); 
+0

LOL Merci, je ne peux pas croire que je n'ai pas pensé à ça ... Je trouvais des index et sh * t, LOL – Confiqure

+0

ATTENDRE! Voir ma dernière mise à jour – Confiqure

+0

MERCI BE FLIPPING BEAUCOUP! – Confiqure

0
public class Test { 
    public static void main(String[] args) throws Exception { 
    String regexp = "(?)\\+(\\s?)+Bob"; 
    System.out.println("+Bob foo + bar".replaceAll(regexp, "Bob")); 
    System.out.println("+ Bob foo + bar".replaceAll(regexp, "Bob")); 
    System.out.println("+ Bob foo + bar +Bob".replaceAll(regexp, "Bob")); 
    System.out.println("+ Bob foo + bar + Bob".replaceAll(regexp, "Bob")); 
} 
} 
/* output : 
Bob foo + bar 
Bob foo + bar 
Bob foo + bar Bob 
Bob foo + bar Bob 
*/ 
+0

Je vais essayer, merci. – Confiqure

+0

Comment pourrais-je modifier votre code pour travailler pour ~ Bob et -Bob et * Bob etc? – Confiqure

0

Désolé, je downvoted les gars parce que la réponse est: utiliser StringBuffer.deleteCharAt (Index int)

Questions connexes