文字列を取得して特定のデータを削除するコードを作成しようとしています。データは下の行のようになります。必要なのは「」マーク内のデータのみで、マーク自体は必要ありません。
inputString = 'type="NN" span="123..145" confidence="1.0" '
開始点と停止点を知るために2文字以内の文字列の部分文字列を取得する方法はありますか?
"
正規表現を使用して、文字のペア間のすべてのテキストを抽出できます。
import re
inputString='type="NN" span="123..145" confidence="1.0" '
pat=re.compile('"([^"]*)"')
while True:
mat=pat.search(inputString)
if mat is None:
break
strings.append(mat.group(1))
inputString=inputString[mat.end():]
print strings
または、より簡単に:
import re
inputString='type="NN" span="123..145" confidence="1.0" '
strings=re.findall('"([^"]*)"', inputString)
print strings
両方のバージョンの出力:
['NN', '123..145', '1.0']
fields = inputString.split('"')
print fields[1], fields[3], fields[5]