solox 发表于 2009-8-5 03:46:19

关于StringStripWS的汉化

本帖最后由 solox 于 2009-8-12 01:17 编辑

今天学习Let's AutoIt到字符串函数这一块了,在学习StringStripWS函数的时候,发现对标志为4时的解释太含糊,(AutoIt中文帮助翻译和Let's AutoIt作者的写法一样)上面写当标志为4时是“去掉双(或多)空格”,英文解释是“strip double( or more ) spaces between words”。
因为1是去掉左边的所有空格,2是去掉右边的所有空格,所以当时想当然的以为4是“把字符串‘两边’的空格或多个空格去掉”
实际我试验得到的是:把连续的双(或多)空格替换成单空格,(并且不管这个空格是不是在两边,都会保留单空格)。
这个太特殊了。
建议下次汉化时能把这个的中文解释换一下,呵呵

solox 发表于 2009-8-5 03:48:45

对了,标志为3时才是“把字符串‘两边’的空格或多个空格去掉”

solox 发表于 2009-8-5 04:01:31

又试了下,原来还有567。。。
5:去掉左边的所有空格,然后把中间和右边的连续的双(或多)空格替换成单空格
6:去掉右边的所有空格,然后把中间和左边的连续的双(或多)空格替换成单空格
7:去掉左、右两边的所有空格,然后把中间的连续的双(或多)空格替换成单空格

学无止境。。。。

solox 发表于 2009-8-12 01:34:52

本帖最后由 solox 于 2009-8-12 02:04 编辑

今天有空整理下

StringStripWS ("字符串", 标志)
删除字符串中的"空格"
参数 字符串目标字符串标志指定要执行的删除操作(要同时应用多个操作请把相应的数值相加):
1   去掉左边的所有空格
2   去掉右边的所有空格
3   把字符串‘两边’的空格或多个空格去掉
4   把连续的双(或多)空格替换成单空格,(并且不管这个空格是不是在两边,都会保留单空格)。
5   去掉左边的所有空格,然后把中间和右边的连续的双(或多)空格替换成单空格
6   去掉右边的所有空格,然后把中间和左边的连续的双(或多)空格替换成单空格
7   去掉左、右两边的所有空格,然后把中间的连续的双(或多)空格替换成单空格
8   去掉所有空格


测试用语句:
Dim $i = 8
Dim $a = "   123   456   " ;前中后均有3个空格
$b = StringReplace(StringStripWS($a, $i), " ", "b") ;把转换后的空格替换成字符“b”,容易查看
MsgBox(1, "标志的作用", $b)

ollydbg 发表于 2009-8-12 21:37:27

楼主很细心,支持支持

都市浪子666 发表于 2009-10-5 10:57:42

这个不错,谢谢楼主

kodin 发表于 2009-10-5 13:01:35

不错,上次用的时候就觉得怪怪的,原来是这样。

hh_wzj 发表于 2009-10-5 19:36:47

这个贴很有建设性,积少成多,如果大家都来做。效果就明显了。

别情 发表于 2009-11-11 21:39:33

谢谢楼主!!!!!!!!!!!!!1

thesnow 发表于 2009-11-13 14:52:16


@@ParamTable@@
字符串
        目标字符串.
标志
        指定要执行的删除操作(要同时应用多个操作请把相应的数值相加):
        1 = 删除开头的(左边)空白符
        2 = 删除结尾的(右边)空白符
        4 = 删除每个字符之间的双空格(或更多)
        8 = 删除所有空格(这将忽略其它所有标志)
@@End@@


此文件的最后翻译时间为:‎2009‎年‎3‎月‎13‎日,‏‎18:13:54,上方是内容.不知道是不是楼主用的帮助很老,下面的人也瞎起哄.

wwant 发表于 2009-11-15 12:12:14

1 0001
2 0010
4 0100
8 1000
说明中分别讲述了四个标志位的含义,组合使用就会产生组合使用的效果
不过我在尝试中有时候完全没有效果,不知道为什么

syhw222 发表于 2011-1-1 22:20:45

谢谢共享!
页: [1]
查看完整版本: 关于StringStripWS的汉化