OK, sagen wir, ich habe eine Zeichenfolge, die CSV ist: 01,02,05,10,11,13 .. Was wäre der einfachste Weg, die führenden Nullen zu entfernen?php wie führende Nullen aus einer CSV entfernen?
Antwort
Verwenden preg_replace
hierfür:
$text = "01,02,05,10,11,13,101";
echo preg_replace('/(?<=,|\b)0([0-9])/', "$1", $text);
EDIT: in der Mitte von ihnen die Regex aktualisiert mit einem 0
mit Zahlen zu arbeiten. (d. h. 101)
Dank @BoltClock für die Korrektur der Regex.
Ausgang:
1,2,5,10,11,13,101
Der Vorteil es auf diese Weise zu tun, ist, dass Sie nicht mit dem Drehen der gesamten Textes in ein Array zu verwirren haben zu tun, es/Looping durch ändern und es dann in zurück drehen Text.
A Bit LofI, aber
ltrim mit dem Trick sollte:
$zeroLess = ltrim('01', '0');
Alternativ (und mehr richtig im Wesentlichen), intval wie folgt verwendet werden:
$zeroLess = intval('01');
Ich löschte meine Antwort, weil ich dachte, die einzige führende Null würde eine Oktalnotation anzeigen, was 'intval()' dazu bringen würde, etwas durcheinander zu bringen. Aber es sieht so aus, als wäre ich ein bisschen paranoid! 'ltrim()' funktioniert aber auch, also habe ich dich hochgestuft. – BoltClock
Ltrim funktioniert, wenn es eine einzige Zahl ist, aber nicht in einer CSV .. Ich müsste es für jeden Wert in der CSV ausführen würde ich nicht? – John
@John Werfen Sie einen Blick auf die Antwort von @ BoltClock - sie verwendet die Funktion intval als Rückruf zu array_map und löst das Problem sehr gut. –
Sie könnten alle Ihre Zahlen Ints Stimmen:
$list = explode(',', $csv_string);
foreach ($list as &$n) $n = (int)$n;
$fixed = implode(',', $list);
Stellen Sie sicher, dass &
in der foreach zu beachten, in dem Sie die aktuelle Liste Elemente können geändert werden.
<?
$tdata=explode(',','01,02,05,10,11,13');
foreach ($tdata as $number) {
$csv[]=number_format($number,0);
}
$csv=implode(',',$csv);
echo $csv;
getestet: http://www.ideone.com/lrh8q
bearbeiten
an einigen der anderen Beiträgen Sehen, Gießen statt number_format int ist wahrscheinlich schneller.
- 1. Entfernen führende Nullen aus abgekürztem Datum mit PHP
- 2. Entfernen führende Nullen mit HiveQL
- 3. Entfernen führende Nullen von einer Zahl in einer Zeichenfolge
- 4. SQL Server - entfernen führende und nachgestellte Nullen
- 5. Entfernen Sie führende Nullen in Batch-Datei
- 6. Pandas csv-import: führende Nullen in einer Spalte behalten
- 7. Entfernen führende Nullen aus alphanumerischen Zeichen in R
- 8. R: Entfernen führende Nullen vom Anfang einer Zeichenfolge
- 9. Wie führende Nullen in Excel
- 10. Pandas read_csv dtype führende Nullen
- 11. PHP entfernen erste Nullen
- 12. Führende Null CSV verschwindet
- 13. Führende Nullen in C?
- 14. inet_addr Funktion und führende Nullen
- 15. Trunk führende Nullen einer Zeichenfolge in Javascript
- 16. Nullen am Anfang einer Zahlenfolge entfernen VBA
- 17. Java führende Nullen zu einer Nummer hinzufügen
- 18. Schaltet jqgrid führende Nullen ab
- 19. Regex, um führende Nullen als Zeichenfolge behandelt zu entfernen
- 20. Wie fügt führende Nullen auf sequentielle Dateinamen
- 21. NSString durch Entfernen der ersten Nullen?
- 22. ANT: Führende/nachfolgende Whitespace aus String entfernen
- 23. Python - MYSQL - Wählen Sie führende Nullen
- 24. Wie CSV-Datei in die Datenbank zu importieren, ohne führende Nullen von Zahlen in den Spalten
- 25. SQL Server: Wie führende 'A' s aus Base64-Zeichenfolge entfernen
- 26. Entfernen führende Komma aus einem String
- 27. Entfernen von Zeichen aus einer CSV-Datei
- 28. excel Steigung in Bereich berechnen, führende Nullen
- 29. Wie man Nullen aus einer Zeichenkette entfernt
- 30. führende Nullen zu einer Liste von Zahlen in Python hinzufügen
Ich habe darüber nachgedacht, auch diese Lösung zu veröffentlichen. Es ist sauberer und offensichtlicher.Aber beide funktionieren gut, wenn seine Liste immer so aussieht (keine Leerzeichen oder Nicht-Dezimalzahlen). – Tesserex
Das funktioniert super. Vielen Dank. – John
Was ist, wenn eine der Zahlen "101" ist? Es wird es "11" machen. – webbiedave