330259789 发表于 2010-11-23 18:57:22

(已解决)StringSplit能不能实现通过"来分组

本帖最后由 330259789 于 2010-11-24 17:46 编辑

例如字符串:abc="1,2,3,4"
我想要的结果是
a=abc=
a=1
a=2
a=3
a=4

就是通过关键字"和,来分
可是直接在""中输入"会提示错误,怎么办?

netegg 发表于 2010-11-23 19:22:30

引号的用法 '"'

330259789 发表于 2010-11-23 21:15:24

回复 2# netegg
不行,提示错误

netegg 发表于 2010-11-23 22:21:48

本帖最后由 netegg 于 2010-11-23 22:31 编辑

什么错误也不说,我怎么知道,我这运行没问题#include<array.au3>
Local $abs = 'abc="1,2,3,4"'
$aI = StringSplit($abs, '"', 2)
_ArrayDisplay($aI, 'abc="1,2,3,4"')
$str = $aI
_arraydelete($aI, 1)
$aB= stringsplit($str, ',', 2)
_ArrayConcatenate($aI, $aB)
_ArrayDisplay($aI)
另外,你要是指定两个分隔符,没有直接的函数

binghc 发表于 2010-11-23 23:14:20

本帖最后由 binghc 于 2010-11-23 23:16 编辑


#include<array.au3>
$str='abc="1,2,3,4"'
$str=StringSplit($str,',"')
_ArrayDisplay($str)

netegg 发表于 2010-11-23 23:30:10

本帖最后由 netegg 于 2010-11-23 23:32 编辑

回复 5# binghc

不好意思,误导人了,忘了这个函数可以部分匹配子串了

330259789 发表于 2010-11-24 17:39:56

回复 4# netegg

是我理解错了,我以为StringSplit ( "字符串", "分隔符" [, 标志 ] )那个分隔符字外面的引号一定要用""的,我弄的是" '"', "
现在明白了'",'就可以了,谢谢啊

330259789 发表于 2010-11-24 17:41:56

本帖最后由 330259789 于 2010-11-24 17:45 编辑

回复 5# binghc

通过字符这样可以了,但是如果是两个字符串呢?我用这个函数,中间加&好像不行,也没看到别的函数

binghc 发表于 2010-11-24 17:48:51

回复 8# 330259789


    给个实例

330259789 发表于 2010-11-24 18:05:14

回复 9# binghc #include<array.au3>
$str='abc="1,2,3,4"'
$str=StringSplit($str,',"')
_ArrayDisplay($str)
这个是把"和,做为分隔符,我知道也可以把一段字符串作为分割符就像#include<array.au3>
$str='abc="1,2,3,4"'
$str=StringSplit($str,'="1,2,',1)
_ArrayDisplay($str)

现在我想用="和,和"作为关键字,相当于多个字符串分割
a=abc
a=1
a=2
a=3
a=4
能通过简单函数解决吗?最好不是几个函数组合用,那样比较繁琐

binghc 发表于 2010-11-24 18:28:46

回复 10# 330259789


StringSplit在一条命令中只能支持一种模式,不能多字符和单字符同时作为分割符(你可以仔细阅读一下帮助文档)。但是你可以用两次StringSplit()
这样问题不就解决了吗!
你若是非得一条命令解决那就用正则吧

330259789 发表于 2010-11-25 19:43:35

回复 11# binghc
明白了,谢谢
页: [1]
查看完整版本: (已解决)StringSplit能不能实现通过"来分组