2つの区切り文字の間の単語を削除それら2つの区切り記号の間に "<"と ">" ??
答えて
ありがとう:
>>> import re
>>> s = '<@ """@$ FSDF >something something <more noise>'
>>> re.sub('<[^>]+>', '', s)
'something something '
[更新]
あなたはドットが任意の文字を意味し、プラス記号が1つまたは複数を意味<.+>
のようなパターンを、しようとした場合、それが動作しないことを知っている。
>>> re.sub(r'<.+>', s, '')
''
なぜ!!!これは、正規表現がデフォルトで「貪欲」であるために発生します。式は>
を含めて文字列の最後まで一致しますが、これは私たちが望むものではありません。 <
と一致し、次の>
で停止したいので、[^x]
というパターンを使用して、「任意の文字以外のx」(xは>
)というパターンを使用します。
?
オペレータが「非貪欲」一致をオンにするので、これは、同じ効果を有する:
>>> re.sub(r'<.+?>', '', s)
'something something '
以前はより明確であり、これは、より少ないタイピングです。 x?
はxの0回または1回の発生を意味することに注意してください。
:)は魅力のように動作します。ありがとう – Fraz
正規表現の答えがすべて最初の場所で動作する理由を説明していれば、SOはもっと幸せな場所になります。 +1! – heltonbiker
もちろん、正規表現を使用することができます。
import re
s = #your string here
t = re.sub('<.*?>', '', s)
上記のコードはそれを行う必要があります。
import re
my_str = '<@ """@$ FSDF >something something <more noise>'
re.sub('<.*?>', '', my_str)
'something something '
re.sub
機能は、通常のexpresionを取り、2番目のパラメータで文字列内のすべての一致を置き換えます。この場合、<
と>
('<.*?>'
)の間のすべての文字を検索し、何も(''
)に置き換えます。
?
は、貪欲でない検索ではre
で使用されます。
詳細re moduleについて
する「ノイズ」は、実際のHTMLタグがある場合、私はあなただけの利益のためにBeautifulSoup
に見えるように勧め、あなたのようないくつかのコードを書くことができます:
with open('blah.txt','w') as f:
f.write("""<sdgsa>one<as<>asfd<asdf>
<asdf>two<asjkdgai><iasj>three<fasdlojk>""")
def filter_line(line):
count=0
ignore=False
result=[]
for c in line:
if c==">" and count==1:
count=0
ignore=False
if not ignore:
result.append(c)
if c=="<" and count==0:
ignore=True
count=1
return "".join(result)
with open('blah.txt') as f:
print "".join(map(filter_line,f.readlines()))
>>>
<>one<>asfd<>
<>two<><>three<>
ええ、私は彼らが2番目の ">" myname-> bob がある場合は、myname-> bobが得られますが、他の状況では 'bob'になるだけです。実際には、壊れたxmlを解析するのは理想的ではありません。 "<" ">"タグの間に改行文字があると、私のコードも失敗します。私のコードを読んでくれてありがとう –
最初にあなたに感謝しますPaulo Scardine、私はあなたのreを使って素晴らしいことをしました。このアイデアは、印刷目的のためにタグのないLibreOfficeのpoファイルを持つことでした。そして、私は、より小さくて簡単なもののためにヘルプファイルをきれいにする次のスクリプトを作った。
import re
f = open('a.csv')
text = f.read()
f.close()
clean = re.sub('<[^>]+>', ' ', text)
f = open('b.csv', 'w')
f.write(clean)
f.close()
- 1. JavaのClassName <Something >の<Something>は何を表していますか?
- 2. Firebaseのキーを比較するには?</p> <pre><code>SOMETHING USERID (<- unique) TIMESTAMP (<- unique within USERID) SOMETHING: 'something', SOMETHING: 'something' </code></pre> <p>がどのように私は私のコード内の別の<code>ID</code>に<code>USERID</code>を比較することができます:
- 3. java.util.Optional <Something>をSomethingにマップする方法?
- 4. Djangoテンプレート、私は私が試した、カットフィルタにテンプレートを渡すために、この</p> <pre><code>{{ myVariable|cut:"something + templateVariable" }} </code></pre> <p>ような何かをしようとしているカットフィルタ
- 5. 名前付きキャプチャグループが存在するかどうかを確認する方法は?だから私は<code><somename></code>が存在するかどうかを知りたい</p> <pre><code>@"Something\(\d+, ""(.+)""(, .{1,5}, \d+, (?<somename>\d+)?\)," </code></pre> <p>:私の正規表現で
- 6. 私はコードの下に使用して試してみました</p> <pre><code>@Document(indexName="Something",type="type") </code></pre> <p>で動的に<code>indexname</code>を取得しようとしています@Document
- 7. は自動的に私が<code>EditText</code>上のエラーを表示するように</p> <pre><code>EditText.setError("Something went wrong"); </code></pre> <p>のようなコードを使用していますのEditText
- 8. htmlセクションジャンプ<a name="something"> more than once?
- 9. は、どのように私はフォルダが</p> <p>今基本的に今私は<code>tomhome</code>から<code>/home/tom</code>にすべてのデータをコピー<code>/data/tomhome</code>と呼ばれる持って、私は私の別のpartioionに</p>その後 <pre><code>/home/tom </code></pre> <p>のように私のホームディレクトリを持っているのlinux
- 10. は</p> <p>は、inputfileの</p> <pre><code>SOMETHING {}; </code></pre> <p>によって</p> <pre><code>EXTRATHING { }; </code></pre> <p>を置き換える私は単純に次の操作を行いたい
- 11. <body>を<body id "something"に変更してください。runat = "server">
- 12. ジェネリック型のためのカスタムデシリアライザの作成方法私はFooのためのカスタム・ジャクソンのデシリアライザを書きたい</p> <pre><code>class <T> Foo<T> { .... } class Bar { Foo<Something> foo; } </code></pre> <p>:
- 13. Pythonで特定のディレクトリにダウンロードするには?</p> <pre><code>webbrowser.open(download_url) </code></pre> <p>をだから私はURLを持っていると私はちょうどウェブブラウザモジュールとそれを開いています:
- 14. がどのように要素を削除して、今、私はこのHTMLを解析したい私はこの</p> <pre><code>Hello<i class="emoji emoji_smile" title=":smile:"></i><i class="emoji emoji_angry" title=":angry:"></i>World </code></pre> <p>のようなHTMLスニペットを持って
- 15. は私が頻繁に私はこのようなことのための方法が記述されていることをこれを行うフォーム</p> <pre><code>t -> { // do something to t return t; } </code></pre> <p>を取る<code>Function</code>インタフェースのための機能
- 16. 私は属性として<code>data-something</code>を持って<code><th></code>要素と同じ列にあるすべての<code><td></code>の要素を選択したい特定の<th>要素
- 17. ファイルリダイレクトVS.</p> <pre><code>while(<>){ print; } </code></pre> <p>と私はこのようにリダイレクトしてファイルに渡す必要があります考えています:<code>./sort.pl < wordlist</code>を、それが持っている私はそうのようないくつかのファイルからSTDINにかかる<code>sort.pl</code>という名前のperlスクリプトを持って
- 18. キャッチは、私はいつも<code>func()</code><code>resolve</code>をしましょう、と私はに指示したい場合<code>yield func()</code>、<br> 後の戻り結果を決定する前に一品、</p> <p>によって<code>onError()</code>に直接、私は<code>func()</code><code>reject</code>からのエラーを保持したい約束
- 19. なぜ "if(変数)"ではなく "if(!!変数)"ですか?</p> <pre><code>if(!!variable) { //Do something } else { //Something else } </code></pre> <p><code>if(!!variable)</code>の代わり<code>if(variable)</code>をテストするための理由がある:誰か他の人のコードで
- 20. は、どのように私は私は2つのセグメントを持っている場合</p> <p>が</p> <p>例であるURI
- 21. Python dir()はJavaScriptでこれに相当しますか?</p> <pre><code>dir(django.auth.models) </code></pre> <p>、それはあなたの<code>models</code>の内側にすべてのものを与えるだろう、何かがあります:私は、Pythonについて愛した何
- 22. 私は、それはperlの</p> <p>私がいたを使用して行うことができますどのように</p> <pre><code>String sql = Query1; </code></pre> <p>のようにそれを交換したい行</p> <pre><code>String sql="select * from "+ "emp_data"; </code></pre> <p>のように私が持っている私のファイルでのPerl
- 23. sed <?xml [something?>の後にコメントを追加する方法
- 24. は、どのように私は、変数</p> <pre><code>int x = 2; </code></pre> <p>とリストを持っている
- 25. コマンド "from sklearn.model_selection import something"は間違いで実行されます。私は何をすべきか?私は私のsklearnのV.17はアナコンダと一緒にインストールされている</p> <blockquote> <p>ImportError: No module named model_selection</p> </blockquote> <p>:私は私のコードを実行しようとすると
- 26. ルーティングレガシーリンク私は</p> <blockquote> <p>/signedin/mypage.aspx?my_key=152372</p> </blockquote> <p>にこのような何かをリダイレクトしたい
- 27. 「<%:」は何をしますか?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>「<%:」何をん:行う
- 28. Vimは前方を置き換える私は、このテキスト全体では「\」を削除したいと思い、この</p> <pre><code>"{\"attributes\":[],\\\\"data\":\" </code></pre> <p>として文字列を持っている
- 29. 私は<code>applicationWillTerminate</code>方法に<code>NSURLConnection</code>経由<code>NSURLRequest</code>を送信しようとしているapplicationWillTerminate
- 30. bash経由でコマンドラインプログラムに引数を渡すには?私はbashスクリプトを通じてこの<em>正確な</em>プログラムを実行し、そのようにスクリプトにいくつかのパラメータを渡すしたい</p> <pre><code>x = raw_input ("say something:") print x </code></pre> <p>:
は、常に1行に1つの形式のデータですか? – vdbuilder
「何か」を抽出するか、「<" and ">」区切り記号の間のテキストを削除しますか? –
こんにちは..データに複数の行がある...大きなファイルがあります 私は何かを抽出したいのですが、すっきりとしたスープを使っています。突然空のファイルが残ってしまいます。 "<" and ">"の間のテキストを消去すると、同じ目的も果たします。 – Fraz