正则表达式模式 - 如何从一行中提取 N 元素?
RegEx Pattern - how to extract the N element from a line?
我尝试创建一个模式来从一行中提取一些值,但没有成功。可以请你帮忙吗?
我想从这样的一行中提取值(只是一个简单的例子):
502,42 421,421.421 421421,421.55 551
[0-9,.]+
问题是我想将每个值分配给不同的变量。
我应该怎么做?
由于您使用 UiPath 对其进行了标记,因此这是一种方法。创建一个变量来保存您的正则表达式,并为每个匹配创建最多 n 个变量。添加一个 Invoke Code
activity。将输入和输出参数映射到您的变量(在我的例子中,有一个输入 - 正则表达式和两个输出)。
根据需要更改代码。该模式可能成为另一个输入参数。
Dim matches As MatchCollection = Regex.Matches(in_RegEx, "\d")
out_part0 = matches(0).Value
out_part1 = matches(1).Value
假设您提供 1 2 3 4
作为输入,\d
作为模式,part0 == 1
和 part1 == 2
。
很高兴看到您的意见,感谢您在这方面的配合。我还为 "problem":
找到了解决方案
- 阅读 PDF 文本(或其他来源...)
- 匹配 activity - 符合模式
- 分配 activity(根据需要分配 - 对我来说,变量类型是 Double)= Double.Parse((Matches(0).Groups(2).value).ToString.Replace(".","").替换(",",".").Trim)
- 写一行(只是为了检查结果)
如果您创建一个模式,唯一应该改变的是 Assign activity.[=10 中的 .Groups(N) 的数量=]
海王星
我尝试创建一个模式来从一行中提取一些值,但没有成功。可以请你帮忙吗?
我想从这样的一行中提取值(只是一个简单的例子):
502,42 421,421.421 421421,421.55 551
[0-9,.]+
问题是我想将每个值分配给不同的变量。
我应该怎么做?
由于您使用 UiPath 对其进行了标记,因此这是一种方法。创建一个变量来保存您的正则表达式,并为每个匹配创建最多 n 个变量。添加一个 Invoke Code
activity。将输入和输出参数映射到您的变量(在我的例子中,有一个输入 - 正则表达式和两个输出)。
根据需要更改代码。该模式可能成为另一个输入参数。
Dim matches As MatchCollection = Regex.Matches(in_RegEx, "\d")
out_part0 = matches(0).Value
out_part1 = matches(1).Value
假设您提供 1 2 3 4
作为输入,\d
作为模式,part0 == 1
和 part1 == 2
。
很高兴看到您的意见,感谢您在这方面的配合。我还为 "problem":
找到了解决方案- 阅读 PDF 文本(或其他来源...)
- 匹配 activity - 符合模式
- 分配 activity(根据需要分配 - 对我来说,变量类型是 Double)= Double.Parse((Matches(0).Groups(2).value).ToString.Replace(".","").替换(",",".").Trim)
- 写一行(只是为了检查结果)
如果您创建一个模式,唯一应该改变的是 Assign activity.[=10 中的 .Groups(N) 的数量=]
海王星