从字符串中去除多余的填充

时间:2013-02-22 16:37:02

标签: autohotkey

我今天早些时候提出了一个问题,并从llbrink得到了一个非常快速的答案。在我花了几个小时试图找到答案之前,我真的应该问过这个问题。

所以 - 这是另一个我从来没有找到答案的问题(尽管我已经创建了一个似乎非常狡猾的解决方案)。

我的AHK程序要求用户输入登录名。然后程序将登录名与文件中现有的名称列表进行比较。

文件中的登录名可能包含空格,但名称的开头永远不会有空格。当用户输入名称时,他可以在开头包含空格。这意味着当我的程序将名称与文件中的名称进行比较时,它找不到匹配项(因为有额外的空格)。

我想找到一种从输入开头剥离空格的方法。

我的工作是将输入字符串拆分为数组(确实忽略前导空格),然后使用数组的第一个元素。这是我的代码:

name := DoStrip(name)

DoStrip(xyz) ; strip leading and trailing spaces from string
{
  StringSplit, out, xyz, `,, %A_Space%
  Return out1
}

这似乎是一种非常辛苦的方式 - 有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

如果您的示例适用于所有情况,我认为没有问题。

有一种更简单的方法;只需使用Autotrim,就像这样。

AutoTrim, On ; not required it is on by default
my_variable = %my_variable%

autohotkey中还有manydifferent ways to trim个字符串, 你可以把它组合成有用的东西。

答案 1 :(得分:1)

您还可以使用#LTrim#RTrim删除字符串开头和结尾的空格。