Dot replacer

  • 2 Antworten
  • Letztes Antwortdatum
kukuk

kukuk

App-Anbieter (kostenlos)
37
Ich baue mir gerade eine Funktion, die einen String auf "." durchsucht und alle bis auf den ersten entfernt.
Leider verzweifel ich hier gerade wieder und kann meinen Fehler nicht finden.



String dot_replacer = edittext11.getText().toString().replace(",", ".");
List<Integer> dot_counter = new ArrayList<Integer>();
ArrayList<String> hilfswert = new ArrayList<String>();
for (int x = 0; x < dot_replacer.length();x++){
if (dot_replacer.substring(x, x+1).contains(".")){
dot_counter.add(x);
}

}*Bis hier läuft alles wie es soll. Bei z.B. 0.0.0 wir korrekterweise 1, 3 ausgegeben und der Array umfasst 2 Einträge



if (dot_counter.size() > 1){
for (int y = 0; y > dot_counter.size(); y++){
hilfswert.add(""+ removeCharAt(dot_replacer, dot_counter.get(y)));

}
}
toast_information("" + hilfswert.get(0));

public static String removeCharAt(String s, int pos) {
return s.substring(0, pos) + s.substring(pos + 1);
}
 
Zuletzt bearbeitet:
Dein Code macht für jeden Punkt (auch für den dem ersten) einen String ohne diesen Punkt. Das ist was anderes und irgendwie recht kompliziert.

Ich würde das so machen:

int first_dot = str.indexOf(".");
if( first_dot>=0 ) str = str.substring(0,first_dot+1)+str.substring(first_dot+1).replace("\\.","");
 
  • Danke
Reaktionen: kukuk
Habe deinen Code jetzt mal durchlaufen lassen, funktioniert alles. Ich danke dir vielmals.

String str = edittext11.getText().toString().replace(",", ".");
int first_dot = str.indexOf(".");
if( first_dot>=0 ) str = str.substring(0,first_dot+1)+str.substring(first_dot+1).replace(".","");

toast_information("" + str);
 
Zuletzt bearbeitet:
Zurück
Oben Unten