字符串拆分问题(已解决)
本帖最后由 qsy666888 于 2018-3-19 16:04 编辑有一串字符串,是用 | 隔开的几个数组,我想把它拆开,怎么写?
如 $text = '|一把剑和|一把刀|4646545|aklkf|计算器|AutoIt 脚本编辑器|西游记|654561255|'
拆分后我想得到:
$a1 = '一把剑和'
$a2 = '一把刀'
$a3 = '4646545'
$a4 = 'aklkf'
$a5 = '计算器'
$a6 = 'AutoIt 脚本编辑器'
$a7 = '西游记'
$a8 = '654561255'
数组有可能是9组10组的,如何写,在大侠手里应该不难。 #include <array.au3>
$text = '一把剑和|一把刀|4646545|aklkf|计算器|AutoIt 脚本编辑器|西游记|654561255|'
$text = StringRegExpReplace($text,'^(\|?)(\V+?)(\|?),'${2}')
$aAry = StringSplit($text,'|')
_ArrayDisplay($aAry) 回复 2# zghwelcome
正则我不会,能完善一下吗?怎么用
msgbox(0,'数组',$a1 & $a2 & $a3 & $a4 & $a5 & $a6 & $a7& $a8)表示 回复 2# zghwelcome
谢谢谢谢 这个用正则有点夸张了
#include <Array.au3>
$text = '一把剑和|一把刀|4646545|aklkf|计算器|AutoIt 脚本编辑器|西游记|654561255'
$a_Text=StringSplit ( $text, "|")
_ArrayDisplay($a_Text) 本帖最后由 zghwelcome 于 2018-3-19 15:29 编辑
正则替换是去掉字符串首尾的符号|,以防字符串进来的时候不规范,如: asfddsf|asfd|asdf|,这时候不去掉末尾的 | ,用stringsplit就会有空值进入数组#include <array.au3>
$text = '一把剑和|一把刀|4646545|aklkf|计算器|AutoIt 脚本编辑器|西游记|654561255|'
$text = StringRegExpReplace($text,'^(\|?)(\V+?)(\|?),'${2}')
$aAry = StringSplit($text,'|')
Local $sOutStr = ''
For $i = 1 To $aAry
Assign('a' & $i,$aAry[$i],2)
$sOutStr = $sOutStr & '$a' & $i & '=' & Eval('a' & $i) & ' '
Next
MsgBox(0,$aAry,$sOutStr) 回复 7# zghwelcome
谢谢兄弟,正则方面我一点都不懂
页:
[1]