在c#中获取字符串之间的值
本文关键字:之间 字符串 获取 | 更新日期: 2023-09-27 18:13:35
我有一个字符串值,如"%2%,%12%,%115%+%55%,..."
样本输入"(%2%+%5%)/5"
步骤1:
获取值2和5
步骤2:
获取表column2和column5的值
步骤3:
from the value (Column2+Column5)/5
如何从字符串
中获取值12115、55
还
逗号,"+"(符号)
Thanks in Advance.
我引用了这些链接:
- 查找两个已知值之间的字符串
- 我如何提取位于括号(圆括号)之间的文本?
您可以替换%
,然后拆分,
和+
:
var value = "%2%,%12%,%115%+%55%,";
value = value.Replace("%", "");
var individualValues = value.Split(new[] {',', '+'});
foreach (var val in individualValues)
Console.WriteLine(val);
如果我没理解错的话…
var string = "%2%,%12%,%115%+%55%";
var values = string.replace("%", "").replace("+", "").split(',');
Edit:实际上,我想你的意思是你想在"+"上分割,所以它变成了split(',', '+')
str.Replace("%", "").Replace("+",",").Split(',');
这就行了。
另一个正则表达式解决方案:
foreach (Match m in Regex.Matches(str, @"'d+"))
// m.Value is the values you wanted
使用正则表达式:
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));
}
可以使用拆分和其他东西或通过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);
}