2017-11-21 12 views
-1

私はPythonを使用しており、ラテックスコードをいくつかの部分に分割するコードを書いています。 私はテキストを|文字列を数学と1つの単語に分割する

Hello | the | formula | is |$ \int_{-\infty}^{\infty}f(x) - \sum_{n=0} x^{n} $ | and | it | is | a | good | formula, since |$ \delta -\gamma = \int \Omega dx $ |. 

を1つの単語と全体の式に変換します。 結果はこのように見えることになっている:

['Hello' , 'the' , 'formula' , 'is' , '$\int_{\delta}^{\gamma} - \sum_{\epsilon} x^{\epsilon}$' , 'and' ...] 

これまでのところ私はre.findall機能を使用し、それだけで数学の公式を抽出します。

お礼

編集:私の質問が十分ではありませんでした。私が始めたいテキストはHelloのように見えます。式は$\int_{-\infty}^{\infty} f(x)-...$です。サイン。 |テキストを別の文字列に分割する場所を示します。敬具

+1

'' some |あなたがパイプ上で分割する必要がある場合はstring'.split( '|') ' –

+0

私の質問は十分ではありませんでした。私が始めようとしているテキストは、 'こんにちは、式は$ \ int _ { - \ infty}^{\ infty} f(x)-... $'サイン。 | は、テキストを別の文字列に分割したい場所を示します。よろしくお願いします –

答えて

0

代わりのre.findallre.splitを使用します。

s = "Hello | the | formula | is |$ \int_{-\infty}^{\infty}f(x) - \sum_{n=0} x^{n} $ | and | it | is | a | good | formula, since |$ \delta -\gamma = \int \Omega dx $ |." 
import re 
final_s = re.split('\s\|\s', s) 

出力:

['Hello', 'the', 'formula', 'is', '$ \\int_{-\\infty}^{\\infty}f(x) - \\sum_{n=0} x^{n} $', 'and', 'it', 'is', 'a', 'good', 'formula, since', '$ \\delta -\\gamma = \\int \\Omega dx $', '.'] 
+0

私の質問は十分ではありませんでした。私が始めたいテキストはHelloのように見える。$ \ int _ { - \ infty}^{\ infty} f(x)サイン。 | は、テキストを別の文字列に分割したい場所を示します。宜しくお願いします –

0
re.findall('\w+|\$[^\$]*\$', yourString) 

は、あなたが欲しいものを行う必要があります。

関連する問題