3

これが私のコードの一部です:

with open ('sampleID.txt', 'r') as inF:
        for line in inF:
            if 'Sample ID:' in line:

                SID = line.split(':')[1]

テキスト ファイル (sampleID.txt) の内容は次のとおりです。 サンプル ID: 110715516102 ABC

問題は、SID= 110715516102 になるようにコードを修正するにはどうすればよいかということ
です。

あなたのすべての助け/サポートに感謝します

4

4 に答える 4

0

行レイアウトが常に同じ (つまり、ID の前のスペースの数が同じ) 場合は、次のようにします。

SID = line.split()[2]
于 2013-08-25T14:14:50.310 に答える
0

strip()関数を使用して余分なスペースを削除できます。

with open ('sampleID.txt', 'r') as inF:
        for line in inF:
            if 'Sample ID:' in line:

                SID = line.split(':')[1].strip()
于 2013-08-25T14:14:56.703 に答える
0

あなたがする必要があるのは、strip()関数を通して最終的な文字列を実行することだけだと思います。

str.strip([chars])

先頭と末尾の文字が削除された文字列のコピーを返します。chars 引数は、削除する文字セットを指定する文字列です。省略された場合、または None の場合、chars 引数はデフォルトで空白を削除します。

したがって、ループ内のコマンドは次のようになります。

SID = line.split( ":" )[ 1 ].strip()

参照:

于 2013-08-25T14:15:09.103 に答える
0

空白で再度分割し、最初の「単語」を取得して取得します110715516102

SID = line.split(':')[1].split()[0]
                        ^^^^^^^^^^^                         
于 2013-08-25T14:15:15.673 に答える