c# - 获取字符串 C# 中第一个非字母字符的索引

标签 c# regex

每当我找到第一个非 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/

相关文章:

regex - 用正则表达式匹配连字符之间的文本

javascript - 使用正则表达式标记字符串中的文本但排除链接

c# - 如何区分Windows 7和Windows 2008 R2

javascript - 上传后从客户端 PC 删除文件,但仅在获得客户端许可后

regex - 索引函数中的正则表达式

java - 如何转换以下字符串中的分隔符

javascript - 从组正则表达式中删除逗号

c# - 如何将 unicode 插入 MS-SQL?

c# - 在 IE9 模式下 WebBrowser 控件中不需要的滚动条

c# - 将 SqlDataReader 传递给多个线程时是否应该通过引用传递 SqlDataReader