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

#LTrimとを使用し#RTrimて、文字列の最初と最後の空白を削除することもできます。

于 2013-02-23T08:52:40.810 に答える