c# - 从粘合了字符的字符串中获取数字
问题描述
我需要恢复胶合字符串中的每个数字
例如,从这些字符串:
string test = "number1+3"
string test1 = "number 1+4"
我想恢复(1 和 3)和(1 和 4)我该怎么做?
代码
string test= "number1+3";
List<int> res;
string[] digits= Regex.Split(test, @"\D+");
foreach (string value in digits)
{
int number;
if (int.TryParse(value, out number))
{
res.Add(number)
}
}
解决方案
这个正则表达式应该工作
string pattern = @"\d+";
string test = "number1+3";
foreach (Match match in Regex.Matches(test, pattern))
Console.WriteLine("Found '{0}' at position {1}",
match.Value, match.Index);
请注意,如果您打算多次使用它,出于性能原因,创建 Regex 实例比使用此静态方法更好。
var res = new List<int>();
var regex = new Regex(@"\d+");
void addMatches(string text) {
foreach (Match match in regex.Matches(text))
{
int number = int.Parse(match.Value);
res.Add(number);
}
}
string test = "number1+3";
addMatches(test);
string test1 = "number 1+4";
addMatches(test1);
推荐阅读
- javascript - 如何从 JSON url 呈现列表?- ReactJS 钩子
- sql - MS Access 查询 SQL 联合选择返回 -1
- c# - 如何在 Unity 上播放死亡动画?
- html - 使用漂亮的汤从网站上获取所有 mp3 文件——递归
- arrays - 将整数集扫描到二维数组中
- python - 类型错误:bott() 接受 1 个位置参数,但即使使用 self 也给出了 2 个
- javascript - 如何在 laravel 和 Admin Lte 中使用 React Routes?
- html - 创建数据可视化网站的好做法是什么?
- spring - 在 SpringBoot 配置中,@Import 的类如何变成可全局访问的类列表?
- c - 如何检查一个字符串是否包含c中的一个字母?