2012-01-16 12 views
10

Con regex, come faccio a sostituire ogni fine riga char (\ n) con una virgola (,)?Regex sostituire tutti i caratteri di nuova riga con virgola

Ti piace questa:

Demetrius Navarro 
Tony Plana 
Samuel L. Jackson 

A:

Demetrius Navarro,Tony Plana,Samuel L. Jackson 

Non in una particolare programmazione Lang, basta regex standard. Qualcosa del genere:

(.*) 
$1 
//This just takes the whole string and outputs it as is, I think 
+0

Se tutto quello che vuoi è sostituire un personaggio con un altro, ti suggerisco di usare solo un metodo di sostituzione di stringa, non di regex. – aevanko

+0

prega di notare che regex ha gusti diversi, quindi dubito vostro "regex appena standard" sarà sufficiente per voi. – aevanko

+0

Lo sto usando in un programma Windows, non in programmazione. – ofko

risposta

10

Per abbinare tutti i caratteri di nuova riga, /\n/g. Per poterli sostituire, devi specificare una lingua. Ad esempio, in JavaScript:

str.replace(/\n/g, ","); 

Live example

Una semplice ricerca su Google rivela how it's done in C#:

Regex.Replace(str, "\n", ","); 

Dopo aver letto alcuni dei vostri commenti, ho cercato come farlo in Perl. This should do it:

s/\n/,/g; 
+0

+1 per preferire una semplice sostituzione di stringa –

+0

Ok, che dire di C#? – ofko

+0

@ofko Post aggiornato per C#. –

2
/\n/\,/ 

In Vim: :%s/\n/\,/g o con uno spazio dopo la virgola (come è consuetudine): :%s/\n/\,\ /g

Annoyin' 30 caratteri per una risposta :)

+0

Sto usando un programma Windows. Ci vorranno codice C# o Regex – ofko

+1

La prima cosa è "regex". Programma di Windows ...? Potresti essere un po 'più specifico? – Rook

+0

Questo è stato fantastico! Non è stato grandioso scaricare Vim solo per la formattazione della mia lista :) –

Problemi correlati