Comment puis-je remplacer "a b" par "un b" dans Java ME? La méthode replace()
n'accepte pas les chaînes, mais seulement les caractères. Et puisqu'un double espace contient deux caractères, je pense avoir un petit problème.Chaîne remplacer en Java ME double espace
2
A
Répondre
3
Que pensez-vous de celui-ci? J'en ai essayé un moi-même.
private String replace(String needle, String replacement, String haystack) {
String result = "";
int index = haystack.indexOf(needle);
if(index==0) {
result = replacement+haystack.substring(needle.length());
return replace(needle, replacement, result);
}else if(index>0) {
result = haystack.substring(0,index)+ replacement +haystack.substring(index+needle.length());
return replace(needle, replacement, result);
}else {
return haystack;
}
}
2
Here's one function vous pouvez utiliser:
public static String replace(String _text, String _searchStr, String _replacementStr) {
// String buffer to store str
StringBuffer sb = new StringBuffer();
// Search for search
int searchStringPos = _text.indexOf(_searchStr);
int startPos = 0;
int searchStringLength = _searchStr.length();
// Iterate to add string
while (searchStringPos != -1) {
sb.append(_text.substring(startPos, searchStringPos)).append(_replacementStr);
startPos = searchStringPos + searchStringLength;
searchStringPos = _text.indexOf(_searchStr, startPos);
}
// Create string
sb.append(_text.substring(startPos,_text.length()));
return sb.toString();
}
Merci, j'espérais qu'il y avait une solution plus courte. Pourquoi utilisez-vous ces traits de soulignement? pour indiquer les variables sont des paramètres? – hsmit
C'est une bonne norme de codage de nommer les variables différemment selon leur portée. Le code Android de Google utilise un préfixe «m» pour les variables d'instance. Symbian utilise par exemple un préfixe «i» et un préfixe «a» pour les paramètres de méthode. –