我有一个像"%2%,%12%,%115%+%55%,..."
样本输入"(%2%+%5%)/ 5"
第一步:
获得第2和第5个数字
第二步:
从表column2和column5获取值
第三步:
从该值(Column2 + Column5)/ 5
如何从该字符串中获取值
2,12,115,55
也
逗号," +" (符号)
先谢谢。
我提到了这些链接:
答案 0 :(得分:4)
您可以替换%
然后拆分,
和+
:
var value = "%2%,%12%,%115%+%55%,";
value = value.Replace("%", "");
var individualValues = value.Split(new[] {',', '+'});
foreach (var val in individualValues)
Console.WriteLine(val);
答案 1 :(得分:1)
str.Replace("%", "").Replace("+",",").Split(',');
这样做。
另一种正则表达式解决方案:
foreach (Match m in Regex.Matches(str, @"\d+"))
// m.Value is the values you wanted
答案 2 :(得分:1)
如果我理解正确的话......
var string = "%2%,%12%,%115%+%55%";
var values = string.replace("%", "").replace("+", "").split(',');
编辑:实际上,我认为你的意思是你要分开" +"这样就会分裂(',',' +')
答案 3 :(得分:0)
使用正则表达式:
using System.Text.RegularExpressions;
Regex re = new Regex("\\d+");
MatchCollection matches = re.Matches("%2%,%12%,%115%+%55%,...");
List<int> lst = new List<int>();
foreach (Match m in matches)
{
lst.Add(Convert.ToInt32(m.Value));
}
答案 4 :(得分:0)
可以使用拆分和其他内容或通过Regex解析字符串:
[TestMethod]
public void TestGetNumberCommasAndPlusSign()
{
Regex r = new Regex(@"[\d,\+]+");
string result = "";
foreach (Match m in r.Matches("%2%,%12%,%115%+%55%,..."))
result += m.Value;
Assert.AreEqual("2,12,115+55,", result);
}