关于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是“把字符串‘两边’的空格或多个空格去掉”
实际我试验得到的是:把连续的双(或多)空格替换成单空格,(并且不管这个空格是不是在两边,都会保留单空格)。
这个太特殊了。
建议下次汉化时能把这个的中文解释换一下,呵呵 对了,标志为3时才是“把字符串‘两边’的空格或多个空格去掉” 又试了下,原来还有567。。。
5:去掉左边的所有空格,然后把中间和右边的连续的双(或多)空格替换成单空格
6:去掉右边的所有空格,然后把中间和左边的连续的双(或多)空格替换成单空格
7:去掉左、右两边的所有空格,然后把中间的连续的双(或多)空格替换成单空格
学无止境。。。。 本帖最后由 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) 楼主很细心,支持支持 这个不错,谢谢楼主 不错,上次用的时候就觉得怪怪的,原来是这样。 这个贴很有建设性,积少成多,如果大家都来做。效果就明显了。 谢谢楼主!!!!!!!!!!!!!1
@@ParamTable@@
字符串
目标字符串.
标志
指定要执行的删除操作(要同时应用多个操作请把相应的数值相加):
1 = 删除开头的(左边)空白符
2 = 删除结尾的(右边)空白符
4 = 删除每个字符之间的双空格(或更多)
8 = 删除所有空格(这将忽略其它所有标志)
@@End@@
此文件的最后翻译时间为:2009年3月13日,18:13:54,上方是内容.不知道是不是楼主用的帮助很老,下面的人也瞎起哄. 1 0001
2 0010
4 0100
8 1000
说明中分别讲述了四个标志位的含义,组合使用就会产生组合使用的效果
不过我在尝试中有时候完全没有效果,不知道为什么 谢谢共享!
页:
[1]