# Führende Nullen eines String entfernen



## Guest (8. Nov 2006)

Hallo zusammen,

wie kann ich aus einem String die führenden Nullen entfernen?

Bsp.: "0002651565" soll werden zu "2651565". Die Anzahl der führenden Nullen kann variieren.

Gruss
Markus


----------



## meez (8. Nov 2006)

regex...


----------



## Bert Brenner (8. Nov 2006)

Oder mit charAt schauen wieviele nullen drin stehen und dann mit substring arbeiten.


----------



## thE_29 (8. Nov 2006)

String.replaceAll("0","");


----------



## DP (8. Nov 2006)

long l = Long.parseLong(string);


----------



## thE_29 (8. Nov 2006)

Oha, jetzt kommts mir erst, meines ersetzt ja alle!

Würde DPs vorschlag nehmen


----------



## Leroy42 (8. Nov 2006)

thE_29 hat gesagt.:
			
		

> Würde DPs vorschlag nehmen


Sicher? 

Liefert der dann nicht bei "010" den Wert 8
wegen der oktalen Zahlenangabe?  :shock: 

Bin mir jetzt nicht so sicher  ???:L


----------



## L-ectron-X (8. Nov 2006)

Dazu folgendes einfaches Programm:

```
public class Test {
   public static void main(String[] args) {
      System.out.println(Long.parseLong("0002651565"));
   }
}
```


----------



## meez (8. Nov 2006)

Geht halt nur bis zu einer beschränkten Länge...


----------



## Leroy42 (8. Nov 2006)

meez hat gesagt.:
			
		

> Geht halt nur bis zu einer beschränkten Länge...




```
System.out.println(new java.math.BigInteger("000012345...."));
```


----------



## dieta (8. Nov 2006)

Und mit etwas mehr performance...


```
System.out.println(derString.substring(derString.indexOf('0')));
```


----------



## SlaterB (8. Nov 2006)

aber wehe da fehlen die führenden Nullen


----------



## DP (8. Nov 2006)

dieta hat gesagt.:
			
		

> Und mit etwas mehr performance...



 :shock:  :lol:


----------



## thE_29 (9. Nov 2006)

Hast etwa mit der Stoppuhr gemessen?

Oder weißt du dass das schneller ist


----------



## SnooP (9. Nov 2006)

Also ich würde auch das vom dieta nehmen... weil bei BigInteger im Konstruktor schon ziemlich viel abläuft noch neben dem Entfernen von führenden 0en...

aber das indexOf muss natürlich vorher überprüfen ob überhaupt ne 0 am anfang auftaucht... - daher evtl. so?:


```
System.out.println(derString.startsWith("0") ? derString.substring(derString.indexOf('0')) : derString);
```


----------



## DP (9. Nov 2006)

dass der indexof nur die erste null entfernt ist euch aber noch nicht aufgefallen, oder?!


----------



## thE_29 (9. Nov 2006)

1. würde ich ja long nehmen!

2. schon mal die indexOf Methode angesehen?
So kurz ist die auch nicht 

3. was DP geschrieben hat is ja auch net zu verachten


----------



## DP (9. Nov 2006)

```
System.out.println(Long.MAX_VALUE);
```

> 9223372036854775807

sollte imho reichen


----------

