1

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

所以 - 这是另一个我从未找到答案的问题(尽管我已经创建了一个看起来非常笨拙的解决方法)。

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

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

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

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

name := DoStrip(name)

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

这似乎是一种非常费力的方法——有更好的方法吗?

4

2 回答 2

3

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

有一个更简单的方法;只需使用像这样工作的Autotrim 。

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

还有许多其他不同的 方法可以在 autohotkey 中修剪字符串,您可以将它们组合成有用的东西。

于 2013-02-22T17:38:59.210 回答
1

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

于 2013-02-23T08:52:40.810 回答