每当我找到第一个非 alpha 或空格时,我都试图拆分出一个字符串(在索引处)。
我的正则表达式真的很生疏,并试图找到一些方向让它发挥作用。
示例:“2015 年 8 月 14 日收到的付款 $0.00”是字符串。我能找到第一个数字
string alphabet = String.Empty;
string digit = String.Empty;
int digitStartIndex;
Match regexMatch = Regex.Match("Payments Received by 08/14/2015 $0.00", "\\d");
digitStartIndex = regexMatch.Index;
alphabet = line.Substring(0, digitStartIndex);
digit = line.Substring(digitStartIndex);
问题在于当像“Amount This Period + $57.00”这样的字符串时 我最终得到“本期金额 + $”
如何在 C# 中使用 Regex,如果我还想包含要检查的特定非字母数字字符,例如 $ + -
?
编辑:我正在努力寻找上面示例中的输出(变量字母和数字)。
“本期金额”
“+ 57.00 美元”
最佳答案
要按照您提到的方式拆分字符串,请使用正则表达式查找初始字母/空格字符,然后查找其余字符。
var s = "Payments Received by 08/14/2015 $0.00";
var re = new Regex("^([a-z ]+)(.+)", RegexOptions.IgnoreCase);
var m = re.Match(s);
if (m.Success)
{
Console.WriteLine(m.Groups[1]);
Console.WriteLine(m.Groups[2]);
}
^ 对于在开头查找字符很重要。
关于c# - 获取字符串 C# 中第一个非字母字符的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287083/