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

[系统综合] 如何将一组字符串裁成相同的长度?

  [复制链接]
发表于 2015-2-24 00:21:41 | 显示全部楼层 |阅读模式
比如以下人名
Annabe
Angeline
Angelina Christina
Christine Isabella
Elizabeth Rebecca
Juliana Jocelyn
Rose linda
这些人名有长有短,怎么把他们都裁成相同的长度,比如10个字符,如果长了,则把人名尾端去掉,如果不够长,则在人名后面加上特别的字符占位,比如------点位
形成以下这样
Annabe----
Angeline--
Angelina C
Christine I
Elizabeth R
Juliana Joc
Rose linda
发表于 2015-2-24 09:56:17 | 显示全部楼层
$s1 = "Angelina Christina"
$s2 = ""
$slen = StringLen($s1)
$s2 = StringLeft($s1, 10)
If $slen<10 Then
        $i = $slen
        While $i<=10
                $s2 &= "-"
                $i += 1
        WEnd
EndIf
MsgBox(0, "", $s2)
发表于 2015-2-24 12:38:29 | 显示全部楼层
本帖最后由 netegg 于 2015-2-24 18:43 编辑

[au3]Local $aA[7]=['Annabe','Angeline','Angelina C','Christine I','Elizabeth R','Juliana Joc','Rose linda']
For $i In $aA
   ConsoleWrite(stringleft($i&'------------', 10)& @cr)
Next[/au3]

本帖子中包含更多资源

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

×
发表于 2015-2-24 18:46:03 | 显示全部楼层
本帖最后由 netegg 于 2015-2-24 19:16 编辑

Christine I
Elizabeth R
这两个是11个字符吧
楼主说明白点,空格在什么情况下算字符,什么情况下算

Angelina C
Christine I
Elizabeth R
Juliana Joc
Rose linda
这几行看,第1行算,第2,3,4行不算,第5行算

多说一句,要是想要固定宽度,只能用gdi,api的操作没戏,那个和字体本身的宽度有关
 楼主| 发表于 2015-2-24 20:02:30 | 显示全部楼层
$s1 = "Angelina Christina"
$s2 = ""
$slen = StringLen($s1)
$s2 = StringLeft($s1, 10)
If $slen
veket_linux 发表于 2015-2-24 09:56

要的是这种,但是while部分我把=去掉了,大体上通过了。谢谢,netegg写的我不太懂。选2楼的答案吧。
发表于 2015-2-24 20:03:23 | 显示全部楼层
本帖最后由 netegg 于 2015-3-1 16:29 编辑

[au3]Local $aA[7]=['Annabe','Angeline','Angelina C','Christine I','Elizabeth R','Juliana Joc','Rose linda']
For $i In $aA
  ConsoleWrite(StringRegExpReplace(stringleft($i&'          ', 10), '\s(?=\s*$)','-')& @cr)
Next
[/au3]
发表于 2015-3-1 16:35:17 | 显示全部楼层
回复 5# sex123
2楼那个不是一样吗Christine Isabella也出不来Christine I呀

评分

参与人数 1金钱 +1 收起 理由
afan + 1 你比LZ急…

查看全部评分

发表于 2015-3-6 12:41:15 | 显示全部楼层
帮顶
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 16:28 , Processed in 0.124203 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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