Удалить все символы перед запятой каждой строки в файле в Python - PullRequest
1 голос
/ 09 марта 2012

Мне нужна небольшая функция в Python, которая будет читать в файле, а затем удалять все символы до и включая символ запятой.так, например, следующий двухстрочный файл:

hello,my name is
john,john, mary

будет:

my name is
john, mary

Ответы [ 4 ]

5 голосов
/ 10 марта 2012

Вам уже посоветовали использовать re.split(); однако обычного split() метода str также должно быть достаточно:

with open('new_file', 'w') as f_out, open('my_file') as f_in:
    for line in f_in:
        new_str = ','.join(line.split(',')[1:])
        f_out.write(new_str)
2 голосов
/ 09 марта 2012

То, что вы хотите, называется Регулярные выражения .В частности, split должно работать хорошо.

vals = re.split (',', string, 1)

1 голос
/ 10 марта 2012

Использовать раздел

>>> foo = 'hello, my name is'
>>> foo.partition(',')[2]
' my name is'
>>> foo = 'john, john, mary'
>>> foo.partition(',')[2]
' john, mary'
>>> foo = 'test,'
>>> foo.partition(',')[2]
''
>>> foo = 'bar'
>>> foo.partition(',')[2]
''
1 голос
/ 10 марта 2012

также:

line = 'hello,my name is'
line[line.find(',')+1 :  ]     #find position of first ',' and slice from there
>>> 'my name is'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...