1、简述

正常情况下,在windows中不管我们在新建目录或者文件时,若出现特殊字符,文件管理器会自动提醒不规范命名问题,文件名不能包含下列任何字符:\ / : * ? " < > | 如下图:

ios UILable 换行的格式 uipath 换行符_非法字符


在UIpath开发过程中,若我们读取/创建的文件名/目录名为变量时,尤其是从其他地方获取的变量用来命名文件或目录时,就需要以上提到的规范命名问题了,常见的报错信息通常为 The given path’s format is not supported.

如下图,这里读取一个Excel文件时,路径拼接使用到了变量,这时就应该考虑该问题是否可能出现。

ios UILable 换行的格式 uipath 换行符_非法字符_02

2、解决方法一

若我们的变量存在一定的不确认因素,这时,我们可以简单做一个小的功能文件,对文件目录变量进行转换,方便多次重复使用。

2.1 创建参数

首先创建一个类型为 In/Out 的参数,因为我们既要输入又要输出并且都是赋给同一个变量,若想要分开也可以创建一个输入参数,一个输出参数

ios UILable 换行的格式 uipath 换行符_uipath_03

2.2 规定非法字符

这里创建一个名为 CharList 的变量,用来放非法字符,CharList = {"","/",":","?","<",">","|","*",chr(34)},注意:这里无法输入双引号时,可以使用ASCII码编号来代替

ios UILable 换行的格式 uipath 换行符_rpa_04

2.3 遍历处理

遍历刚刚定义的CharList列表,当遇到非法字符时,则替换成 “ - ” 定义的语句为:io_FileName = io_FileName.Replace(item.ToString,"-")

ios UILable 换行的格式 uipath 换行符_uipath_05

2.4 测试

在外面调用该流程,这里测试定了FileName为"shdjsdk/sdjk\djks*/sdk:",传入参数输入FileName变量名即可,如下图,转换之后的结果已经将变量中的所有非法字符转换成了-

ios UILable 换行的格式 uipath 换行符_文件名_06

3、解决方法二

这里最简单的方法无疑就是一条语句反复替换了,如 FileName = FileName.Replace("","-").Replace("/","-").Replace(":","-").Replace("?","-").Replace("<","-").Replace(">","-").Replace("*","-").Replace(chr(34),"-").Replace("|","-"),若后续还需要加一些替换字符直接在后面加 .Replace("","") 即可

若还有其他简单的方法,欢迎评论!!!