找回密码
 加入
搜索
查看: 1384|回复: 7

[AU3基础] 字符串拆分问题(已解决)

  [复制链接]
发表于 2018-3-19 09:00:25 | 显示全部楼层 |阅读模式
本帖最后由 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组的,如何写,在大侠手里应该不难。
发表于 2018-3-19 09:13:21 | 显示全部楼层
#include <array.au3>
$text = '一把剑和|一把刀|4646545|aklkf|计算器|AutoIt 脚本编辑器|西游记|654561255|'
$text = StringRegExpReplace($text,'^(\|?)(\V+?)(\|?),'${2}')
$aAry = StringSplit($text,'|')
_ArrayDisplay($aAry)
 楼主| 发表于 2018-3-19 09:25:41 | 显示全部楼层
回复 2# zghwelcome
正则我不会,能完善一下吗?怎么用
msgbox(0,'数组',$a1 & $a2 & $a3 & $a4 & $a5 & $a6 & $a7  & $a8)表示
 楼主| 发表于 2018-3-19 09:31:16 | 显示全部楼层
回复 2# zghwelcome

谢谢谢谢
发表于 2018-3-19 09:52:08 | 显示全部楼层
这个用正则有点夸张了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2018-3-19 09:59:00 | 显示全部楼层
#include <Array.au3>
$text = '一把剑和|一把刀|4646545|aklkf|计算器|AutoIt 脚本编辑器|西游记|654561255'
$a_Text=StringSplit ( $text, "|")
_ArrayDisplay($a_Text)
发表于 2018-3-19 15:21:47 | 显示全部楼层
本帖最后由 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[0]
        Assign('a' & $i,$aAry[$i],2)
        $sOutStr = $sOutStr & '$a' & $i & '=' & Eval('a' & $i) & ' '
Next
MsgBox(0,$aAry[0],$sOutStr)
 楼主| 发表于 2018-3-19 16:04:38 | 显示全部楼层
回复 7# zghwelcome

谢谢兄弟,正则方面我一点都不懂
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 19:45 , Processed in 0.087958 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表