MicroBlue 发表于 2012-12-4 20:40:18

【已解决】 字符串处理 --- 【Q:将字符串aaa,变成a.a.a】

本帖最后由 MicroBlue 于 2012-12-4 21:44 编辑

大家好:

今天需要处理一个字符串,例子: 字符串$strTest = "aaa",变为"a.a.a"。查了一下,没有现成的,不知道有么有好的想法,python中有内建函数join,Autoit中不知道有没有。如果大家有好的方法,希望能分享出来,谢谢!!!
Local $str = 'aaa'

MsgBox(0,"",ConvertStr($str,"."))

Func ConvertStr($str_,$sJoin)

        Local $sTemp = ''
        Local $aTemp = StringSplit($str_,'')

        For $i = 1 To $aTemp

                $sTemp = $sTemp & $aTemp[$i] & $sJoin
        Next

        $sTemp = StringLeft($sTemp,StringLen($sTemp) - 1)

        Return $sTemp
EndFunc

netegg 发表于 2012-12-4 21:15:17

本帖最后由 netegg 于 2012-12-4 21:18 编辑

Local $str = 'aba'
MsgBox(0,0,stringformat('%s.%s.%s', stringleft($str, 1),stringmid($str, 2,1), stringright($str, 1)))

afan 发表于 2012-12-4 21:18:37

Local $str = 'aaa'
MsgBox(0, $str, StringRegExpReplace($str, '(.)(?=.)', '$1.'))

netegg 发表于 2012-12-4 21:26:26

就算用数组也没必要lz自己造个函数吧
$aA = strignsplit($str, '', 2)
msgbox(0,0,_arraytostring($aA, '.'))

轩辕小妖 发表于 2012-12-4 21:26:55

回复 1# MicroBlue

MS很简单哦,在非单词边界处替换成"."即可,即用替换模式,用\B替换成".",用A大的工具~~
### 友情提示:本脚本由 Au3.REHelper 于 2012/12/04 21:23 自动生成,不保证其正确性,请自行测试 ###
Local $Str = 'aaa'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '\B', '.')
MsgBox(0, '替换结果', $Test)

MicroBlue 发表于 2012-12-4 21:35:20

回复 2# netegg


    嗯,谢谢Netegg,我这个字符串长度不固定,这样只能处理三个字符长度的。

MicroBlue 发表于 2012-12-4 21:40:55

回复 4# netegg


    这个不错啊,谢谢了。。。

MicroBlue 发表于 2012-12-4 21:43:07

回复 5# 轩辕小妖

嘿,这个也不错,非常感谢,我当时写东西的是,思路有点局限,所以就发帖问问大家的想法,这样以后处理同类的问题也方便。

Jenney_qiu 发表于 2015-7-29 17:02:17

chris,我跟netegg的处理方法是一样的
页: [1]
查看完整版本: 【已解决】 字符串处理 --- 【Q:将字符串aaa,变成a.a.a】