Mat*_*ren 5 c# regex string text-parsing
什么是解析字符串并提取数字和字母的最简单方法?我的字符串可以是以下格式(数字|字母或字母|数字),即"10A","B5","C10","1G"等.
我需要提取2个部分,即"10A" - >"10"和"A".
更新:感谢大家提供的所有优秀答案
Sam*_*uel 12
最简单的方法可能是使用正则表达式.
((?<number>\d+)(?<letter>[a-zA-Z])|(?<letter>[a-zA-Z])(?<number>\d+))
Run Code Online (Sandbox Code Playgroud)
然后,您可以将其与字符串匹配,并从组中提取值.
Match match = regex.Match("10A");
string letter = match.Groups["letter"].Value;
int number = int.Parse(match.Groups["number"].Value);
Run Code Online (Sandbox Code Playgroud)
最简单,最快速的是使用简单的字符串操作.使用该IsDigit方法检查字母的位置,并将字符串的其余部分解析为数字:
char letter = str[0];
int index = 1;
if (Char.IsDigit(letter)) {
letter = str[str.Length - 1];
index = 0;
}
int number = int.Parse(str.Substring(index, str.Length - 1));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9393 次 |
| 最近记录: |