我想从字符串中删除所有特殊符号,并且字符串中仅包含单词 我试过了,但只给出了相同的输出
main() {
String s = "Hello, world! i am 'foo'";
print(s.replaceAll(new RegExp('\W+'),''));
}
输出:Hello, world! i am 'foo'
预期:Hello world i am foo
答案 0 :(得分:3)
有两个问题:
InvalidArgumentException : Database [pma] not configured.
at C:\xampp\htdocs\Loginproject\Prathamesh\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php:140
136| // If the configuration doesn't exist, we'll throw an exception and bail.
137| $connections = $this->app['config']['database.connections'];
138|
139| if (is_null($config = Arr::get($connections, $name))) {
> 140| throw new InvalidArgumentException("Database [{$name}] not configured.");
141| }
142|
143| return $config;
144| }
Exception trace:
1 Illuminate\Database\DatabaseManager::configuration("pma")
C:\xampp\htdocs\Loginproject\Prathamesh\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php:103
2 Illuminate\Database\DatabaseManager::makeConnection("pma")
C:\xampp\htdocs\Loginproject\Prathamesh\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php:74
不是有效的转义序列,要在常规字符串文字中定义反斜杠,您需要使用'\W'
或 raw 字符串文字({ {1}})\\
的正则表达式模式匹配不是单词char的任何char包括空格,您需要对单词和空白类使用否定字符类r'...'
。使用
\W
输出:[^\w\s]
答案 1 :(得分:2)
The docs for the RegExp class指出,如果要构造正则表达式,则应使用 raw 字符串(以r
开头的字符串文字,例如r"Hello world"
)那样。在使用转义符时,这尤其必要。
此外,您的正则表达式也将捕获空格,因此您需要对其进行修改。您可以改用RegExp(r"[^\s\w]")
-匹配任何非空格字符或单词字符
答案 2 :(得分:1)
我发现了这个问题,寻找如何从字符串中删除符号。对于其他想要这样做的人:
final myString = 'abc=';
final withoutEquals = myString.replaceAll(RegExp('='), ''); // abc