0

次のように文字列を分割する必要があります。

{tab 3}1/*{tab}*/30116{tab}2012{tab, 2}01{tab}{2016}enter

{入っている部分と出ている部分を分けたい}

アイデアは、コマンドを python pyautoguiに渡すためのテキスト インタープリターを作成することです。

結果は、おそらくコマンドと文字列のリストであるはずです。

[ 'tab, 3', '130116', 'tab', '2012', 'tab, 2', '01', 'tab', '2016', 'enter']

順番が重要です。Regex Testerを使用して、次のパターンを実行します。

re.compile (ur '(\{(|.)*\})', re.MULTILINE | re.IGNORECASE)

{これはとの間のすべての部分をマークします}。しかし、文字列を抽出または分割する方法がわかりません。

との間の部分は/**/この部分を取得する前に既に正しく削除しています。彼らはそれを無視することができます。

可能であれば、これを解決する Pythonic の方法が必要です。私はPythonで始めています。このため、ソリューションをスキップしたに違いありません。

間違いがあれば、ご容赦ください。私はブラジルから来たんだ。

他の通訳者がすでにいる場合は、私に見せてください。

前もって感謝します。

アレクサンドル

Google翻訳者によって翻訳されました。

4

1 に答える 1

1

コメントは既に除外されていることを理解しているので、簡単な解決策を提案しています。

re.splitcharsに従って使用{}し、空の文字列を呼び出すことで空の文字列を削除できfilterます。

import re

r="{tab 3}130116{tab}2012{tab, 2}01{tab}{2016}enter"

z = filter(lambda x : x!="",re.split("[{}]",r))

print(z)

出力:

['tab 3', '130116', 'tab', '2012', 'tab, 2', '01', 'tab', '2016', 'enter']

(正規表現を使用したフィルター部分なしで、より複雑な他の方法があるかもしれません)

于 2016-08-25T15:02:02.673 に答える