当前位置:网站首页>【UiPath2022+C#】UiPath 数据操作
【UiPath2022+C#】UiPath 数据操作
2022-08-05 05:17:00 【会敲键盘的肘子】
【UiPath2022+C#】UiPath 数据操作
环境
UiPath Studio Community 2022.4.3
Windows
C#
概述
定义
数据操作是对数据进行修改、结构化、格式化或排序的过程,以方便使用数据并增强数据管理功能。
业务场景
- 网站所有者经常采用数据操作方法从其 Web 服务器日志提取和查看特定信息。这样他们可以监控最受欢迎的页面及其流量来源。
- 我们考虑查询公共财务或法律数据库的流程。数据操作可为信用分析师提供仅提取相关数据并在其他文档中使用这些数据,或将这些数据与其他来源的信息进行相关联的方法。
字符串
定义
字符串是与文本对应的数据类型。很难想象不涉及使用字符串的自动化场景。
每当需要捕获、处理、在应用程序之间发送或显示文本时,都会使用字符串(除非数据是结构化数据,例如表格)。
业务场景
- 获取操作的状态
- 从较大的文本部分提取相关文本
- 向人类用户显示信息
字符串方法
Concat
以字符串形式连接两个指定对象
表达式:string.Concat(VarName1, VarName2)
Contains
检查字符串中是否出现指定子字符串。返回 True 或 False
表达式:VarName.Contains(“text”)
Format
将对象的值转换为字符串(并将其插入另一个文本中)
表达式:string.Format(“{0} is {1}”, VarName1, VarName2)
IndexOf
返回索引从零开始的字符串中第一次出现的字符
表达式:VarName1.IndexOf(“a”)
Join
连接集合中的元素,并将其显示为字符串
表达式:string.Join(“|”, CollVarName1)
Replace
替换字符串中出现的所有子字符串
表达式:VarName.Replace(“original”, “replaced”)
Split
使用给定分隔符将字符串拆分为子字符串
表达式:VarName.Split(“|“)(index)
Substring
使用字符串索引和长度从字符串提取子字符串
表达式:VarName1.Substring(startIndex, length)
步骤
我们以“序列”开始该项目,并使用“分配”作为“message”字符串变量的初始值:“You searched for author Mark Twain. His books can be found in the following stores: Bookland, Classics bookstore.”
我们创建一个新字符串变量 author,并使用一系列字符串方法从查询中分配作者:
message.Split(new char[]{‘.’})[0].ToString().Substring(message.LastIndexOf(“author”))
- v Split(new char[]{‘.’})[0].ToString(),提取字符串的第一个句子并将其转换为字符串;
- v Substring(message.LastIndexOf(“author”)),提取“author”后面的子字符串;
我们创建一个新列表变量bookstores,并使用一系列字符串方法从查询中分配书店:
message.Split(new Char[]{‘.’})[1].ToString().Split(new char[]{‘:’}).Last().ToString().Split(new char[]{‘,’}).ToList()
- v message.Split(new Char[]{‘.’})[1].ToString(),提取字符串的第二个句子并将其转换为字符串;
- v Split(new char[]{‘:’}).Last().ToString(),拆分剩余字符串并仅保留其最后一部分;
- v Split(new char[]{‘,’}).ToList(),接受每个以逗号分隔的字符串,并将其添加为列表变量中的元素;
我们创建一个新字符串变量以显示 2 个变量的值:string.Format(“Availability for {0}: {1}”, author ,string.Join(“;”,bookstores))。在此表达式中,string.Join 用于提取并显示“bookstores”列表变量中的每个元素。

结果
Availability for author Mark Twain: Bookland; Classics bookstore
列表
定义
列表(或列表 ,正如您将要遇到的那样)是由相同数据类型(例如字符串或整数)的对象组成的数据结构。每个对象在列表中都有一个固定的位置;因此,可以通过索引进行访问。数组是用于存储多个对象的固定大小的结构,而列表可以使我们添加、插入和删除项目。
列表可以存储大量元素 - 名称、数字、时间坐标等。列表可提供特定的操作方法,例如:
- 添加和删除项目
- 搜索元素
- 遍历项目(并针对每个项目执行某些操作)
- 对对象进行排序
- 提取项目并将其转换为其他数据类型。
业务场景
- 存储项目团队成员的计算机名称,以执行所需的特定配置
- 收集和存储符合特定条件的发票数量
- 追踪在某个时期内针对某个问题创建的票证编号;
步骤
- 我们以序列作为项目的开始,并创建 2 个列表变量(“SpainCities”和“UKCities”)。
- 由于必须实例化集合变量并填充值,因此使用 2 种不同的方法:
- 对于“SpainCities”,使用 {“MADRID”,“valencia”, “BARCELONA”} 的表达式“new List (of String)”实例化,并从“变量”面板填充列表。
- 对于“UKCities”,从“变量”面板实例化列表,并使用“添加到集合”活动填充该列表。
- 我们使用“分配”活动中的Uniont方法将 2 个列表变量合并到新创建的列表变量 (“AllCities”)中。我们使用表达式 SpainCities.Union(UKCities).ToList()。
- 我们通过在“方法名称”字段中选择“排序”,使用“调用方法”活动对结果列表中的元素进行排序。
- 我们使用“遍历循环”活动遍历“AllCities”变量中的元素,并:
- 使用 ToUpper 方法将其转换为首字母大写:char.ToUpper(item.ToCharArray()[0]) + item.Substring(1);
- 使用“添加到集合”将转换的项目添加到新创建的列表变量(“AllCitiesProperCase”).
- 我们使用“写入行”活动显示使用 string.Join 方法:string.Join(“,”,AllCitiesProperCase.ToArray()) 转换的值。
流程总览和变量

流程总览

For Each

字典
定义
字典(或字典 <TKey, TValue>,正如您将要遇到的那样)是(键,值)对的集合,其中键是唯一的。试想一下手机中的通讯薄,其中每个名称都包含相应的数据(电话号码、电子邮件)。
实例化变量时,必须选择键和值的数据类型。字典中的数据类型可以是任何支持的变量(例如,包括字典)。
通常与字典相关联的操作:
- 添加和删除(键,值)对
- 检索与键相关联的值
- 将新值重新分配给现有键
业务场景
- 存储需要在整个流程中访问的配置详细信息或其他信息
- 存储员工的职称或其他相关信息
- 存储供应商的银行帐户
步骤
案例:
我们将创建一个字典,并存储人员的姓名及其生日。然后,我们将为每个人打印以下信息:
人名;
今年周年纪念日是否已过;
步骤:
- 我们以序列作为项目开始,并创建一个 new Dictionary (String, String) 变量以存储姓名和出生日期(命名为“birthDates”);
- 我们使用了 3 个“分配”活动将元素添加到字典变量:birthDates[“key”] = “value”。键为名称,值为日期 (yyyy/MM/dd);
- 我们使用了“遍历循环”活动遍历字典的键:
- 使用 DateTime.Parse(birthDates[item]) 方法将每个值转换为日期,并将其分配给刚创建的日期时间变量(“dateCurrent”);
- 使用表达式 new DateTime(DateTime.Today.Year, dateCurrent.Month, dateCurrent.Day) 确定今年周年纪念日,并将其存储在新创建的日期时间变量(“curentYearAnniversary”)中;
- 使用“IF 条件”活动以验证今年周年纪念日是否已通过条件“curentYearAnniversary.Month < dateCurrent.Month || (curentYearAnniversary.Month == dateCurrent.Month && curentYearAnniversary.Day < dateCurrent.Day)”:
- 如果为 True,则使用“日志消息”活动打印此人的周年纪念日已经过去;
- 如果为 False,则使用“日志消息”活动打印此人的周年纪念日将在未来。
流程总览和变量

For Each

字典和列表
- 我们以序列作为项目开始,并实例化新创建的字典变量,并通过使用分配活动和以下表达式:cities = new Dictionary(string, List( string))
- 我们使用了 2 个分配活动填充字典变量,将省的名称作为键,并将这些省的多个城市作为值;
- 通过在属性面板的项目字段中写入城市名称,我们使用了“添加到集合”活动在与“浙江”键对应的值中添加新的城市名称(“台州”);
- 我们使用了“从集合删除”活动从相应的值列表中删除城市名称(“泰州”)。为此,属性面板的项目字段中需插入了“伦敦”;
- 我们使用了 2 个“日志消息”活动,以显示字典中与 2 个键对应的值。



正则表达式
定义
正则表达式(REGEX 或 regexp)是一种特定搜索模式,可用于轻松匹配、查找和管理文本。但是,创建正则表达式可能具有挑战性。
UiPath Studio 包含一个正则表达式构建器,可简化创建正则表达式。
正则表达式的典型用途包括:
- 输入验证
- 字符串解析
- 数据抓取
- 字符串操作
业务场景
检索遵循特定模式的文本片段,例如:
- 提取以特定数字开头的电话号码;
- 即使它们没有遵循特定的模式,也要从大量文本中收集所有街道名称-其中一些包含“街道”,而其他则包含“ 道路”等。
使用常规字符串方法构建同一表达式需要更长时间 – 例如,正则表达式包含预定义的表达式,用于查找字符串中的所有 URL。
“正则表达式”下拉菜单可提供多种预生成的正则表达式选项。可用选项包括:
Literal
Digit
One of
Not one of
Anything
Any word character
Whitespace
Starts with
Ends with
Advanced
Email
URL
US date
US phone number
您可以使用“量词”下拉菜单选择要为搜索词查找的结果数量。每种可能性都有多个选项,此下拉菜单旁的输入字段也会根据每个选项进行更改:
- Exactly - 用于选择要查找的确切的连续出现次数。例如,如果要搜索的文本是“
lorem”且“量词”设为“精确次数”2,则向导会在“测试文本”框中找到任何出现“loremlorem”的结果。 - Any (0 or more) - 用于高亮显示连续找到的任意数量的匹配项,次数从 0 开始。
- At least one (1 or more) - 用于高亮显示连续找到的任意数量的匹配项,次数从 1 开始。
- Zero or one - 仅高亮显示连续出现一次的搜索词。
- Between X and Y times - 用于高亮显示所选择的连续出现次数。例如,若搜索“
ipsum”并选择“2 至 3 次之间”,则系统仅会高亮显示“ipsumipsum”和“ipsumipsumipsum”。
文档
边栏推荐
- Redis设计与实现(第一部分):数据结构与对象
- The University of Göttingen proposed CLIPSeg, a model that can perform three segmentation tasks at the same time
- tensorflow的session和内存溢出
- Thread handler handle IntentServvice handlerThread
- 面向小白的深度学习代码库,一行代码实现30+中attention机制。
- 【ts】typescript高阶:分布式条件类型
- 【数据库和SQL学习笔记】7.SQL中的插入(INSERT)、删除(DELETE)、更新(UPDATE)
- idea 快速日志
- 【shell编程】第三章:函数
- MaskDistill - Semantic segmentation without labeled data
猜你喜欢
随机推荐
Tensorflow steps on the pit notes and records various errors and solutions
PoE视频监控解决方案
MSRA proposes extreme masking model ExtreMA for learning instances and distributed visual representations
读论文- pix2pix
LeetCode刷题之第55题
Machine Learning (1) - Machine Learning Fundamentals
C语言程序死循环问题解析——变量被修改
【Pytorch学习笔记】9.分类器的分类结果如何评估——使用混淆矩阵、F1-score、ROC曲线、PR曲线等(以Softmax二分类为例)
七、请求处理——Map、Model类型参数处理原理
MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA
最简单的防抖节流理解法
[Pytorch study notes] 9. How to evaluate the classification results of the classifier - using confusion matrix, F1-score, ROC curve, PR curve, etc. (taking Softmax binary classification as an example)
dataframe 常用操作
伪RTOS-ProroThread在CH573芯片上的移植
LeetCode刷题之第416题
网络信息安全运营方法论 (下)
读论文-Cycle GAN
Facial Motion Capture 调研
初识机器学习
[Database and SQL study notes] 10. (T-SQL language) functions, stored procedures, triggers









