BluePrism计数字符串中字符存在的次数

时间:2018-08-13 12:56:21

标签: blueprism

我有一个计算,该计算将删除空格并以句号代替。这对我90%的案例来说都是正确的。但是,有时在我的值中会出现两个空白。对于第二个空格,我要删除它。这可能吗? 我认为使用代码阶段是可能的,但是我不确定代码是什么。

我当前的计算是Replace([Item Data.Name],“”,“。”)

示例数据John B Smith,我希望结果为John.BSmith

3 个答案:

答案 0 :(得分:2)

对于与字符串有关的任何事情,有一个非常强大的工具称为正则表达式(regex)。我鼓励您使用它,因为它在RPA开发人员手中是一个非常强大的工具。

用“。”替换任何字符串中的第二个空格。您可以使用以下操作。

Object: Utility - Strings
Action: Regex - Find and Replace
Input:
 Regex Pattern: "(?<= .*) "
 Text:          "John B Smith"
 Replacement:   "."

上述操作不是Blueprism的标准操作,因此必须将其添加到您的VBO中。该操作如下所示:

enter image description here

该操作的VB.net代码如下:

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)

可能需要一些其他程序集,因此请在下面查看在我的对象中使用的引用和名称空间的打印屏幕: enter image description here

答案 1 :(得分:0)

我通过使用“实用程序-字符串”对象和拆分文本操作解决了此问题。我用空格分开我的名字。这样就输出了一个集合,我可以循环浏览该集合,并在第一个实例之后添加句号,然后修剪其他实例。

请查看屏幕截图

enter image description here

答案 2 :(得分:0)

我认为最简单的解决方案是

 Replace(Replace(Text,"  "," ")" ","."))

如果您知道它将给一个或两个空格 首先将两个空格替换为单个空格,然后再次将单个空格替换为dot(。)