Patコマンドを使用して文字の最後のインスタンスを見つける方法こんにちは。 Patコマンドを使用して、文字列内の文字の最後のインスタンスを見つけようとしています。 さらに、最後のインスタンスに続くすべての文字を変数に保存します。 たとえば、「Timothy the Tigerが時間をかけている」の最後の「t」を見つけたいと思います。それから「ime」を保存します。これらの文字は文字列内の "t"の最後のインスタンスの後に続くので、変数に変換します。 Patコマンドを使ってこれを行う方法はありますか?
Contains()およびRight()コマンドを使用することに頼ることができますが、Patコマンドを使用してこれをよりエレガントに実行する方法を特に疑問に思いました。
再:どのように私は文字の最後のインスタンスを見つけるためにPatコマンドを使用するのですかありがとうございます。
再:どのように私は文字の最後のインスタンスを見つけるためにPatコマンドを使用するのですか"。+ t"は、"t"で終わる1つ以上の文字の任意のシーケンスと一致します。デフォルトでは正規表現は欲張りなので最後の "t"だけにマッチします。
"。* t"は、"t"で終わる0個以上のchatactersと一致します。最初の文字が唯一の "t"である場合は、これがより良い場合があります。
再:どのように私は文字の最後のインスタンスを見つけるためにPatコマンドを使用するのですかPat Regexコマンドで、「。+ t」は何をしますか。文字列の最後に「。」を付けていなければ、これでも機能しますか。
再:どのように私は文字の最後のインスタンスを見つけるためにPatコマンドを使用するのですかこれをする2つの方法はここにあります。 最初のものはPat関数(私はめったに使用しません)を使用し、2番目のものはRegex(私はもっとよく知っています)を使用します。これを行うには確かに他の方法があります。
s = "Timothy the Tiger is taking his time.";
// With Pat functions
Pat Match(s, Pat Regex(".+t") + Pat Rem() >> last);
// Or the eqivalent with regular expressions
end = Regex(s, ".+t(.+)", "\1");
Show(last, end);
/*:
last = "ime.";
end = "ime.";