【问题标题】:Strip excess padding from a string从字符串中去除多余的填充
【发布时间】:2013-02-24 03:04:35
【问题描述】:

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

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

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

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

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

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

name := DoStrip(name)

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

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

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

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

    有一个更简单的方法;只需使用 Autotrim 即可。

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

    autohotkey中还有many其他differentwaysto trim字符串, 您可以将它们组合成有用的东西。

    【讨论】:

    • 谢谢阿明。我到处寻找“修剪”,“条带”等 - 但从未找到自动修剪。这就是工作。
    • @Armin,我刚刚添加了一个快速示例,可以为未来的访问者节省一次旅行。
    • @FakeRainBrigand 您忘记添加 AutoTrim,打开。编辑时请准确。
    【解决方案2】:

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

    【讨论】:

    • 我认为这是在“继续部分”中删除字符串开头的空格 - 通常是删除 Gui 文本块中的缩进。我不能让它对单个变量起作用。
    猜你喜欢
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    相关资源
    最近更新 更多