Ho una stringa come "foo\nbar"
ma, a seconda della piattaforma, potrebbe diventare "foo\n\rbar"
o qualsiasi altra cosa. Voglio sostituire le nuove linee con ", "
. C'è una regex bella (php) che lo farà per me?Qual è la regex cross-platform per sostituire una linea che termina?
risposta
Prova l'espressione regolare (?:\r\n|[\r\n])
:
preg_replace('/(?:\r\n|[\r\n])/', ', ', $str)
str_replace(array("\n", "\r"), "", $string)
non funziona?
Ho dimenticato che str_replace prenderà gli array. Tuttavia, il tuo non verrà sostituito con virgole. Per quello penso che debba essere 'str_replace (array (" \ n "," \ r "), array (',', ''), $ stringa)' – sprugman
hmm ... no, quello non otterrà il solo caso. (Esiste?) – sprugman
basta sostituire il secondo argomento con '", "' –
Non volete utilizzare un Regex per una semplice sostituzione come questo. Le normali funzioni di sostituzione delle stringhe sono di solito molto più veloci. Per l'interruzione di riga, puoi utilizzare OS aware constant PHP_EOL
, ad es.
str_replace(PHP_EOL, ', ', $someString);
Su Windows, questo sostituirà \r\n
. Su Mac \r
e su tutti gli altri sistemi \n
.
Questa è solo la macchina corrente, e se proviene da un'altra macchina? –
@ Chacha102 se l'altra macchina esegue un altro SO, quindi PHP_EOL non lo farà. Comunque, lo trovo un'opzione degna di nota. – Gordon
- 1. La cartella .git è crossplatform?
- 2. null che termina una stringa
- 3. Qual è la regex per un URL come questo?
- 4. Looping attraverso una regex sostituire
- 5. Regex per abbinare solo la prima linea?
- 6. Swift sostituire la sottostringa regex
- 7. Regex per verificare se una stringa termina con un numero
- 8. Vim Regex Sostituire
- 9. (g) vim sostituire regex
- 10. stringa regex sostituire
- 11. Regex per abbinare la singola nuova linea. Regex per abbinare la doppia nuova riga
- 12. regex: parola di corrispondenza che termina con "Id"
- 13. Python: sostituire con regex
- 14. Qual è la linea Go Shebang appropriata?
- 15. pitone partita regex e sostituire
- 16. Powershell sostituire interruzioni di linea perdere
- 17. semplice regex sostituire per mantenere stringa originale
- 18. OpenAL for CrossPlatform Development
- 19. Come ottenere git per cambiare la linea che termina nella directory di lavoro?
- 20. Notepad regex ++ sostituire
- 21. Regex per sostituire la stringa esatta di corrispondenza
- 22. Sostituire con la nuova linea di pitone
- 23. Javascript Regex per sostituire una sottodirectory in url
- 24. sostituire JavaScript/regex
- 25. Regex per sostituire il linguaggio senza senso
- 26. abbinare una linea utilizzando bash regex
- 27. Qual è la differenza tra regex {m, n} e (regex) {m, n}?
- 28. Come sostituire la linea intera con sed?
- 29. Verifica se la stringa termina con qualcosa con Java (Regex)
- 30. scala regex replaceAllIn non può sostituire quando la stringa di sostituzione sembra una regex?
+1, bello. Vorrei solo aggiungere un '+' alla fine della regex. –
Bello! Ho sempre usato '\ r? \ N | \ r' o' \ n | \ r \ n? ', Ma penso che sia più chiaro. –