我有一个字符串,其中包含数字和其他字符,如:123\n456? * ,, ;;; '' 333\n789/\\+-我试图只将数字作为数组得到
123
456
333
789
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西
serials = Regex.Replace(serials, @"\r\n?|\n|\t", " ");
var serialNumbers = Regex.Split(serials, @"(?<!($|[^\\])(\\\\)*?\\);");
Run Code Online (Sandbox Code Playgroud)
但我的阵列有类似的东西
123 456? * ,,
empty
empty
'' 333 789/\\+-
Run Code Online (Sandbox Code Playgroud)
有没有办法正确拆分这个字符串?
尝试匹配,而不是拆分(即从字符串中提取数字):
string[] numbers = Regex
.Matches(source, "[0-9]+")
.OfType<Match>()
.Select(match => match.Value)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
如果你坚持分裂它可以
string[] numbers = Regex
.Split(source, "[^0-9]+");
Run Code Online (Sandbox Code Playgroud)
这更紧凑,但可能不太可读.