找回密码
 加入
搜索
查看: 4670|回复: 8

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

  [复制链接]
发表于 2012-12-4 20:40:18 | 显示全部楼层 |阅读模式
本帖最后由 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[0]

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

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

        Return $sTemp
EndFunc
发表于 2012-12-4 21:15:17 | 显示全部楼层
本帖最后由 netegg 于 2012-12-4 21:18 编辑

[au3]Local $str = 'aba'
MsgBox(0,0,stringformat('%s.%s.%s', stringleft($str, 1),stringmid($str, 2,1), stringright($str, 1)))[/au3]
发表于 2012-12-4 21:18:37 | 显示全部楼层
Local $str = 'aaa'
MsgBox(0, $str, StringRegExpReplace($str, '(.)(?=.)', '$1.'))

评分

参与人数 2金钱 +20 收起 理由
MicroBlue + 10 afan兄的正则表达式太帅了。实在是佩服。学 ...
轩辕小妖 + 10 学习了~~

查看全部评分

发表于 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)

评分

参与人数 1金钱 +30 收起 理由
afan + 30 学习了

查看全部评分

 楼主| 发表于 2012-12-4 21:35:20 | 显示全部楼层
回复 2# netegg


    嗯,谢谢Netegg,我这个字符串长度不固定,这样只能处理三个字符长度的。
 楼主| 发表于 2012-12-4 21:40:55 | 显示全部楼层
回复 4# netegg


    这个不错啊,谢谢了。。。
 楼主| 发表于 2012-12-4 21:43:07 | 显示全部楼层
回复 5# 轩辕小妖

嘿,这个也不错,非常感谢,我当时写东西的是,思路有点局限,所以就发帖问问大家的想法,这样以后处理同类的问题也方便。
发表于 2015-7-29 17:02:17 | 显示全部楼层
chris,我跟netegg的处理方法是一样的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-4 03:50 , Processed in 0.088106 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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