2013-01-01 10 views
7

Sono molto nuovo a Dart e sto cercando di avere un senso delle librerie di base. Per le stringhe, è disponibile una funzione trim(). Questo è buono, ma non ci sono modi ovvi per tagliare gli spazi bianchi solo all'inizio o solo alla fine di una stringa? Non riesco a trovarli. Grazie.Taglio degli spazi bianchi in stringhe Dart dall'inizio o alla fine

+2

Sono d'accordo che questo è uno strano divario. Mi sono lamentato della stessa cosa un po 'di tempo fa. Attualmente è impostato per essere risolto dal prossimo traguardo. Inserisci questo errore: http://code.google.com/p/dart/issues/detail?id=5589&q=ltrim&colspec=ID%20Type%20Status%20Priority%20Area%20Milestone%20Owner%20Summary –

+0

Questo problema è stato risolto. –

risposta

4

Non esistono metodi specifici per il taglio di spazi iniziali o finali. Ma è abbastanza facile per la loro attuazione:

/// trims leading whitespace 
String ltrim(String str) { 
    return str.replaceFirst(new RegExp(r"^\s+"), ""); 
} 

/// trims trailing whitespace 
String rtrim(String str) { 
    return str.replaceFirst(new RegExp(r"\s+$"), ""); 
} 
+0

Concordo anche sul fatto che questi dovrebbero essere solo metodi String. Per favore recita il bug collegato sopra. –

1

La biblioteca MoreDart ha alcuni aiutanti Guava ispirate che consentono di tagliare in modo efficiente stringhe da inizio, fine, o entrambi:

import 'package:more/char_matcher.dart'; 

... 

var whitespace = new CharMatcher.whitespace(); // what to trim 

whitespace.trimFrom(input); // trim from beginning and end 
whitespace.trimLeadingFrom(input); // trim from beginning 
whitespace.trimTrailingFrom(input); // trim from end 
1

Abbiamo appena aggiunto trimLeft e trimRight a Quiver oggi, anche se si scopre che sono stati aggiunti a String nella prossima versione di SDK. Puoi comunque usare la faretra oggi.

La differenza tra queste implementazioni e la soluzione basata su Regex è che la definizione di spazio bianco è la stessa di String.trim. Regex riconosce un numero inferiore di caratteri bianchi.

http://pub.dartlang.org/packages/quiver

Problemi correlati