【发布时间】:2020-07-30 20:18:50
【问题描述】:
想象一个包含特殊字符的字符串,例如 $§%%、.、数字和字母。
我想接收任意字符串的字母和数字垃圾作为字符串数组。
一个很好的解决方案似乎是使用正则表达式,但我不知道如何表达[数字和字母]
// example
"abc" = {"abc"};
"ab .c" = {"ab", "c"}
"ab123,cd2, ,,%&$§56" = {"ab123", "cd2", "56"}
// try
string input = "jdahs32455$§&%$§df233§$fd";
string[] output = input.Split(Regex("makejunksfromstring"));
【问题讨论】:
-
“垃圾”是指“块”?也很难理解你想要什么。您能清楚地写一些您期望的输入示例及其相应的输出吗
-
我添加了更多更清晰的例子
-
@JNevill 谢谢,但请解释一下您的正则表达式如何尊重数字和字母
-
在这里查看“单词字符”的解释:docs.microsoft.com/en-us/dotnet/standard/base-types/…
\w匹配单词字符,\W(大写)匹配非单词字符 -
既然 regex.matches 返回一个集合,你真的要把它变成一个数组吗?也不是拆分,而是返回
[A-Za-z0-9]+的所有匹配项。看看here