如何使用正则表达式替换除任何 NewLine (\n) 之外的字符串中的所有非数字字符?

Moh*_*kar 3 regex vb.net string replace

我有一个TextBoxMultilined启用。例如,TextBox包含String数字和其他字符由 a 分隔的 a NewLine

在此处输入图片说明

而且我想替换字符串中除数字和分隔符之外的所有字符,NewLine或者"/n",因为String有时可能包含非字母字符,'#', '%', '@', etc.但我无法构建正确的表达式来执行此操作。我尝试了各种表达式来只匹配数字,NewLine例如,

regex.replace(text,"[^0-9\n]","")- 匹配所有数字和NewLines, /n,并用Nothingaka替换其他字符""

但这仅匹配数字并且不会将任何识别NewLine为异常,因此删除所有字符以及NewLine生成的单行字符串。

regex.replace(text,"[^\n]","")- 删除除NewLine.以外的所有字符。

但这并不能替换String.

regex.replace(text,"\n","")- 检查它是否识别任何NewLine使用\n

在这个表达式中,它确实识别了NewLine并替换了所有NewLine

我的预期输出:

在此处输入图片说明

Tom*_*lak 5

除了换行符和数字之外的所有字符都非常简单。

Regex.Replace(text, "[^\r\n0-9]", "")
Run Code Online (Sandbox Code Playgroud)

Windows 上的换行符是 CR ( \r) 和 LF ( \n)。0-9也可以写成\d