我对Web服务的响应如下:
$(".footer").css("position", "fixed");
我可以将其保存在文本文件中。
唯一的变化是2417和15。
现在我想从文本文件中将2417和15展开并保存在变量或数据库中。
对于数据库,我具有列Ext和Ringtime
答案 0 :(得分:1)
这应该有效:
var test = "ok,SIP/2417,15,default,N";
var regex = new Regex("^ok,SIP/(?<number1>\\d+),(?<number2>\\d+),default,N$");
var match = regex.Match(test);
var val1 = match.Groups["number1"].Value;
var val2 = match.Groups["number2"].Value;
但这也可以:
var test = "ok,SIP/2417,15,default,N";
var values = test.Split(',');
var val1 = values[1].Substring(4);
var val2 = values[2];
请注意,在此阶段它们仍将是 strings ,因此,如果您需要将它们作为整数,则需要对其进行解析:
var number1 = int.Parse(val1);
var number2 = int.Parse(val2);
**如果选择TryParse
,则Split
是更好的选择。
答案 1 :(得分:0)
如果您想要通用的正则表达式,可以尝试
Regex r = new Regex(@"([\d]+,[\d]+)");
string var = "ok,SIP/2417,15,default,N";
Match match = r.Match(var);
如果您想要这些变量的列表,则下面是对任何数量的计数的动态解决方案。
List<int> vals = new List<int>();
vals.AddRange(match.Groups[0].Value.Split(',').Select(x => Convert.ToInt32(x)));
否则,如果您将要固定两个值。
int val = Convert.ToInt32(match.Groups[0].Value.Split(',')[0]);
int val2 = Convert.ToInt32(match.Groups[0].Value.Split(',')[1]);