I want to remove all special symbols from string and have only words in string I tried this but it gives same output only
main() { String s = "Hello, world! i am 'foo'"; print(s.replaceAll(new RegExp('\W+'),'')); }
output : Hello, world! i am 'foo'
expected : Hello world i am foo
String s = "one. two"; //Removes everything after first '. ' String result = s. substring(0, s.
To replace all occurrences of a substring in a string with new substring, use String. replaceAll() method. The method returns a new string with all string matchings of given pattern replaced with newSubString . You can give a string for pattern .
Dart – Trim String To trim leading and trailing spaces or white space characters of a given string in Dart, you can use trim() method of String class. String. trim() returns a new string with all the leading and trailing white spaces of this string removed.
There are two issues:
'\W'
is not a valid escape sequence, to define a backslash in a regular string literal, you need to use \\
, or use a raw string literal (r'...'
)\W
regex pattern matches any char that is not a word char including whitespace, you need to use a negated character class with word and whitespace classes, [^\w\s]
.Use
void main() { String s = "Hello, world! i am 'foo'"; print(s.replaceAll(new RegExp(r'[^\w\s]+'),'')); }
Output: Hello world i am foo
.
Fully Unicode-aware solution
Based on What's the correct regex range for javascript's regexes to match all the non word characters in any script? post, bearing in mind that \w
in Unicode aware regex is equal to [\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]
, you can use the following in Dart:
void main() { String s = "Hęllo, wórld! i am 'foo'"; String regex = r'[^\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}\s]+'; print(s.replaceAll(RegExp(regex, unicode: true),'')); } // => Hęllo wórld i am foo
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With