2

我正在使用 BluePrism 从应用程序中读取文本。文本具有以下结构(数字因情况而异):“请记下您的订单编号:525”。我需要能够从文本中提取数字。看计算阶段,有一个replace函数:replace(text, pattern, new-text)。我想使用此函数将文本中的所有字母字符替换为空字符串,以仅返回数字。我怎样才能在模式中输入它?所以我想要这样的东西:

Replace([Order confirmation text ], /^[A-z]+$/, " ")

此外,我尝试为 blueprism 随附的 VBO 寻找适当的文档,但找不到任何文档。有谁知道我们在哪里可以获得 blueprism 函数的文档?

4

4 回答 4

5

计算阶段的 Replace() 函数是最简单的函数。这不是正则表达式!

因此,如果搅拌始终采用该格式,那么您可以使用:

Replace([Text],"Please take note of your order reference:","")

如果文本并不总是那么标准,那么您应该使用正则表达式。为此,您需要使用一个对象,该对象将调用正则表达式代码。

在标准 blueprism 对象中,您可以找到:

Object: Utility - Strings C#
Action: Extract Regex Values

我认为默认情况下没有 Regex Replace 操作,所以如果你愿意,那么你必须实现它。您可以在下面找到我正在使用的代码:

Dim R as New Regex(Regex_Pattern, RegexOptions.SingleLine)
Dim M as Match = R.Match(Text)
replacement_result = R.Replace(Text,Regex_Pattern,replacement_string)

参数

于 2017-11-17T07:23:53.753 回答
0

快速回答如果前文是不变的使用中间语句,那么这将解决其他人对权利的问题。IE

Mid("请注意您的订单编号:525",42,6)

如果您的目标是最大数字长度,它将在最后停止。

于 2018-04-16T10:31:42.177 回答
-1

这里有几件事:

- 您的模式不匹配,因为它正在寻找从头到尾的恒定字母字符串(^锚点到字符串的开头,$锚点到结尾)。

- 您将模式替换为空格,而不是空字符串,因此即使您更正了模式,结果中也会出现一堆空格。

- 你说你只想替换字母字符,但看起来你也想去掉空格和冒号。

尝试用[A-Za-z :]+“”替换。

于 2017-11-16T18:57:58.580 回答
-2

您的目标是从字符串中检索数字,然后使用Right()

Right("Please take note of your order reference: 525", 3)

这将只返回数字。

问候维马尔

于 2018-04-10T17:42:45.380 回答