获取字符串c# regex中的所有数字

本文关键字:数字 字符串 regex 获取 | 更新日期: 2023-09-27 17:54:33

我有一个字符串,它的值可以是

"条形码:x24688000000000"

"条形码:x101234567890123"

等。

我想检索数量值(即2,10)和条形码值(即4688000000000,1234567890123)

我尝试了以下代码-

string[] QtyandBarcode = Regex.Split(NPDVariableMap.NPDUIBarcode.DisplayText, @"'D+");

但是当我执行时,我得到QtyandBarcode作为一个字符串数组有3个值-

"
"2"
"4688000000000"

如何防止null值被存储?

获取字符串c# regex中的所有数字

你可以这样做:

MatchCollection m = Regex.Matches(NPDVariableMap.NPDUIBarcode.DisplayText, @"'d+");
var x = (from Match a in m select a.Value).ToArray();
string[] QtyandBarcode = Regex.Split(NPDVariableMap.NPDUIBarcode.DisplayText, @"'D+").Where(s => !string.IsNullOrEmpty(s)).ToArray();

现在你可以

string qty = QtyandBarcode[0];
string barcode= QtyandBarcode[1];

这个简单的方法怎么样?

string[] parts =  NPDVariableMap.NPDUIBarcode.DisplayText.split(' ');  //split on space
string qty = parts[1];
string barcode = parts[2];