Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 拆下螺栓11。字符串的值(如果存在)_Regex_String_Autoit - Fatal编程技术网

Regex 拆下螺栓11。字符串的值(如果存在)

Regex 拆下螺栓11。字符串的值(如果存在),regex,string,autoit,Regex,String,Autoit,我有以下格式的字符串: 示例1:ABC,0,ABC,ABC,ABC,ABC,ABC,ABC,11,ABC,ABC,ABC,toRemove,012234 示例2:ABC,0,ABC,ABC,ABC,ABC,ABC,ABC,11,ABC,ABC,ABC,toRemove,012234 如果字符串包含由逗号分隔的14个值(而不是13个值),则删除12个值。价值观 上面第二行包含一个空白,如果存在,也应删除。已解决: $line=StringSplit($tmp_行,“,”) $count_value

我有以下格式的字符串:

示例1:ABC,0,ABC,ABC,ABC,ABC,ABC,ABC,11,ABC,ABC,ABC,toRemove,012234

示例2:ABC,0,ABC,ABC,ABC,ABC,ABC,ABC,11,ABC,ABC,ABC,toRemove,012234

如果字符串包含由逗号分隔的14个值(而不是13个值),则删除12个值。价值观

上面第二行包含一个空白,如果存在,也应删除。

已解决:

$line=StringSplit($tmp_行,“,”)

$count_values=Ubound($line)


StringSplit
已经有一个计数器(元素0),因此无需使用
Ubound

StringSplit
将字符串转换为数组类似,
ArrayToString
将数组转换回字符串

#include <array.au3>
$tmp_line = "ABC,0,ABCD,ABC,ABC,ABC,ABC,ABC,11,ABC,ABC, ToRemove,012,234"
$line = StringSplit($tmp_line, ",")
If $line[0] = 14 Then
 $new_line = ArrayToString($line, ",", 1, 11) & "," & ArrayToString($line, ",", 13)
Else
 $new_line = $line  ; shouldn't this be $new_line = $tmp_line ?
EndIf
MsgBox(0, $line[0], $tmp_line & @CRLF & $new_line)
#包括
$tmp_line=“ABC,0,ABCD,ABC,ABC,ABC,ABC,11,ABC,ABC,ABC,TOREOVE,012234”
$line=StringSplit($tmp_行,“,”)
如果$line[0]=14,则
$new_line=ArrayToString($line,“,”,1,11)和“,”&ArrayToString($line,“,”,13)
其他的
$new_line=$line;这不应该是$new\u line=$tmp\u line吗?
恩迪夫
MsgBox(0,$line[0],$tmp\u line&@CRLF&$new\u line)

AutoIt是否具有拆分分隔符上的字符串的功能?这似乎比正则表达式更好。是的,这是可能的:autoitscript.com/autoit3/docs/functions/StringSplit.htm我认为这是个好主意:)谢谢
#include <array.au3>
$tmp_line = "ABC,0,ABCD,ABC,ABC,ABC,ABC,ABC,11,ABC,ABC, ToRemove,012,234"
$line = StringSplit($tmp_line, ",")
If $line[0] = 14 Then
 $new_line = ArrayToString($line, ",", 1, 11) & "," & ArrayToString($line, ",", 13)
Else
 $new_line = $line  ; shouldn't this be $new_line = $tmp_line ?
EndIf
MsgBox(0, $line[0], $tmp_line & @CRLF & $new_line)