我对正则表达式有点困惑,我有一条看起来像这样的行:
test = "article;vendor;qty;desc;price1;price2"
我想要做的只是获得price1。 我目前正在使用此功能:
Regex.Replace(test, @".*;[^;]*;", "");
允许我获得价格2,但我不知道如何隔离价格。
答案 0 :(得分:1)
您是否考虑使用String.Split()
调用来将当前的分号分隔字符串分解为数组:
delete
然后您可以通过索引简单地访问您的值:
data = 0x00123
如果存在可用于匹配的特定模式并准确选择您要查找的内容,则只需要使用正则表达式,但对于分隔列表,var input = "article;vendor;qty;desc;price1;price2";
var output = input.Split(';');
方法通常会使事情变得更容易(特别是如果没有任何内容可以唯一标识您要从列表中提取的项目。)
答案 1 :(得分:0)
使用以下正则表达式:
(?:[^;]*;){4}([^;]*);
并替换第一个匹配组。