UiPath中如何以"/"拆分Excel读取的字符串"2700/30"?
解决UiPath中拆分Excel读取字符串的问题
嘿,我懂你碰到的这个小坑了!你用"2700/30 ".split("/"c)(0)报错,本质是表达式语言的语法搞错了——"/"c是VB.NET里表示单个字符的写法,但如果你的UiPath项目用的是C#表达式,就会出现「无法从string转char」的错误,因为C#里单个字符是用单引号包裹的。
给你几个靠谱的解决方案,不管是C#还是VB环境都能搞定:
方案1:C#表达式环境下的正确写法
直接用单引号表示分隔符字符,或者传入字符数组拆分,还可以顺便处理字符串前后的空格:
// 先Trim掉前后可能存在的空格,再拆分 var rawString = row.Item(0).ToString().Trim(); var splitResult = rawString.Split('/'); // 赋值给变量 myvarA = splitResult[0]; myvarB = splitResult[1];
如果怕拆分后出现空字符串(比如原字符串有多个斜杠),可以加上拆分选项:
var splitResult = rawString.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries);
方案2:VB.NET表达式环境下的正确写法
如果你的项目用的是VB语言,那"/"c的写法是对的,但要确保表达式语言设置为VB,代码可以这么写:
Dim rawString As String = row.Item(0).ToString().Trim() Dim splitResult() As String = rawString.Split("/"c) myvarA = splitResult(0) myvarB = splitResult(1)
额外提示
拆分后如果需要把字符串转成数字类型(比如整数),可以用Int32.Parse()或者Convert.ToInt32(),比如:
myvarA = Int32.Parse(splitResult[0]); myvarB = Int32.Parse(splitResult[1]);
这样后续做数值计算也方便~
内容的提问来源于stack exchange,提问作者mz3bel
相关产品推荐
相关产品推荐

