C# 获取C中字符串之间的值#
我有一个字符串值,比如C# 获取C中字符串之间的值#,c#,string,C#,String,我有一个字符串值,比如%2%,%12%,%115%+%55%,…“ 样本输入“(%2%+%5%)/5” 第1步: 获取谷2和谷5 第二步: 从表第2列和第5列获取值 第三步: 从该值(第2列+第5列)/5 如何从该字符串中获取值 2,12115,55 也 逗号“+”(符号) 提前谢谢 我参考了以下链接: 这就行了 另一个正则表达式解决方案: foreach (Match m in Regex.Matches(str, @"\d+")) // m.Value is the val
%2%,%12%,%115%+%55%,…“
样本输入“(%2%+%5%)/5”第1步:
获取谷2和谷5
第二步:
从表第2列和第5列获取值
第三步:
从该值(第2列+第5列)/5
如何从该字符串中获取值
2,12115,55
也
逗号“+”(符号) 提前谢谢 我参考了以下链接:
另一个正则表达式解决方案:
foreach (Match m in Regex.Matches(str, @"\d+"))
// m.Value is the values you wanted
您可以替换
%
,然后在、
和+
上拆分:
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(',');
编辑:实际上,我想你的意思是想在“+”上拆分,这样就变成了拆分(“,”,“+”)使用正则表达式:
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));
}
使用System.Text.regular表达式;
正则表达式re=新正则表达式(\\d+);
MatchCollection matches=re.matches(“%2%,%12%,%115%+%55%,…”);
List lst=新列表();
foreach(匹配中的匹配m)
{
lst.Add(转换为32(m.Value));
}
可以使用拆分和其他内容或通过正则表达式解析字符串:
[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);
}
到目前为止有什么努力吗
String.Split
方法,该方法接受字符数组。字符串URL是否已编码?发布您想要的确切输出,您的问题并不完全清楚。质量差的问题。您已经编写了详细的伪代码,但尚未显示实际的尝试。链接不行。好的,谢谢。。。我会尽力的。然后我会带着更好的代码回来。逗号,“+”(符号)不,因为还有一个+
符号。这不是他要的吗?对不起,如果我不明白OP的问题。我希望这次能奏效:)@SidM-ya。。。检查时间戳。我看到这种解决方案很快就会弹出,然后由于输入错误/小错误再次被删除,但实际上我认为完全不进行替换而只运行.Split(new[]{',',','+','%},StringSplitOptions.removeMptyEntries)更酷代码>
[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);
}