[J2ME] Replace Strings parts

Rieccoci qui!
Ecco come sostituire delle stringhe in java mobile.

Qual’è il problema?
Java Mobile non permette la sostituzione di stringhe, ma solo di caratteri come si può leggere dalla documentazione (http://java.sun.com/javame/reference/apis/jsr037/):

replace

public String replace(char oldChar, char newChar)

Parameters:
oldChar – the old character.
newChar – the new character.

Returns:
a string derived from this string by replacing every occurrence of oldChar with newChar.

ma semplicemente con un ciclo for e uno StringBuffer, si risolve in modo elegante il problema!

[code lang=”java” autolinks=”false” collapse=”false” firstline=”1″ gutter=”true” htmlscript=”false” light=”false” padlinenumbers=”false” smarttabs=”true” tabsize=”4″ toolbar=”false”]private String replaceString(String stringa) {
StringBuffer n = new StringBuffer(stringa.length());
for (int i = 0; i < stringa.length(); i++) {
char c = stringa.charAt(i);
switch (c) {
case ‘ ‘:
n.append("%20");
break;
default:
n.append(c);
}
}
return n.toString();
}[/code]

Nell’esempio appena visto viene effettuata una sostituzione di spazi con un “%20” utile per gli indirizzi web!

Chiamatelo con:

[code lang=”java” autolinks=”false” collapse=”false” firstline=”1″ gutter=”true” htmlscript=”false” light=”false” padlinenumbers=”false” smarttabs=”true” tabsize=”4″ toolbar=”false”]String miaStringa = replaceString(stringone);[/code]

tutto qui, facile come sempre!

[ref -> albertopasca.it]

 

Alberto Pasca

Software engineer @ Pirelli & C. S.p.A. with a strong passion for mobile  development, security, and connected things.