2012-06-13 13 views
18

Volevo sapere come rappresentare un carattere di spaziatura in C#. Ho trovato la rappresentazione stringa vuota string.Empty. C'è qualcosa del genere che rappresenta un carattere di spazio bianco?Come rappresentare correttamente un carattere di spaziatura

vorrei fare qualcosa di simile:

test.ToLower().Split(string.Whitespace) 
//test.ToLower().Split(Char.Whitespace) 
+1

Non sarebbe solo un unico spazio? (o l'equivoco ascii?) – Limey

+1

Lo spazio bianco è un insieme di caratteri. –

+0

Possibile duplicato di [Il modo migliore per specificare gli spazi bianchi in un'operazione String.Split] (http://stackoverflow.com/questions/6111298/best-way-to-specify-whitespace-in-a-string-split-operation) – nevermind

risposta

17

Quale carattere di spazio bianco? La stringa vuota è piuttosto inequivocabile: è una sequenza di 0 caratteri. Tuttavia, " ", "\t" e "\n" sono tutte stringhe contenenti un singolo carattere che è caratterizzato come spazio bianco.

Se si intende solo uno spazio, utilizzare uno spazio. Se si intende qualche altro carattere di spazio bianco, potrebbe esserci una sequenza di escape personalizzata per esso (ad esempio "\t" per scheda) oppure è possibile utilizzare una sequenza di escape Unicode ("\uxxxx"). Vorrei scoraggiare l'inclusione di caratteri non ASCII nel codice sorgente, in particolare quelli bianchi.

EDIT: Ora che hai spiegato cosa si vuole fare (che avrebbe dovuto essere nella sua domanda per cominciare) si sarebbe meglio utilizzare Regex.Split con un'espressione regolare di \s che rappresenta gli spazi bianchi:

Regex regex = new Regex(@"\s"); 
string[] bits = regex.Split(text.ToLower()); 

Vedere la documentazione Regex Character Classes per ulteriori informazioni su altre classi di caratteri.

+0

Ciao, mi riferisco a questo post http://stackoverflow.com/ domande/6111298/best-way-to-specificano-spazi-in-a-string-split-operazione. Come ho avuto lo stesso problema. Ho un file csv in cui lo spazio non corrispondeva a '' nella funzione di divisione. Vorrei mettere una stringa. Spazio vuoto nella funzione se ne esiste uno. – Luke101

+0

@ Luke101: Sarebbe stato utile se avessi detto tutto per cominciare. Vedi la mia modifica - in pratica dovresti usare le espressioni regolari. –

+0

Perfetto, esattamente quello di cui ho bisogno. Scusa per il fraintendimento. Chiarirò i post in futuro. – Luke101

4

No, non è tale costante.

1

Quale carattere di spazio bianco? Il più comune è lo spazio normale, che è tra ogni parola nelle mie frasi. Questo è solo " ".

+0

Ho usato "SPAZIO" invece di "SPAZIO" per rappresentare il carattere dello spazio in C# – Zeeshanef

+4

'''' 'un' char', '" "' è un 'stringa'. Nel contesto di 'Split',' char' è probabilmente quello che vuoi usare. Quindi sì, hai ragione –

+0

Grazie ... devi modificare la tua risposta e aggiungere questo commento come risposta. Ora hai più voti positivi rispetto alla tua risposta. – Equiman

1

Uso delle espressioni regolari, si può rappresentare qualsiasi carattere di spazio bianco con il metacarattere "\ s"

MSDN Reference

Problemi correlati