Мне нужно разделить строку, в которой есть новая строка. Как мне этого добиться? Пожалуйста, обратитесь к приведенному ниже коду.
Вход:
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
Желаемый результат:
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Я пробовал следующие подходы:
1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')
python
string
python-2.7
Харихаран
источник
источник
repr(data)
?Ответы:
str.splitlines
метод должен дать вам именно это.источник
str.splitlines
заключается в том, что он удалит последний,\n
если он есть. Т.е.'foo\nbar\n'.split() == ['foo', 'bar', '']
покаstr.splitlines('foo\nbar\n') == ['foo', 'bar']
str.split
по умолчанию разбивается на все пробельные символы. Если в фактической строке есть какие-либо другие символы пробела, вы можете использоватьИли, как @Ashwini Chaudhary предложил в комментариях , вы можете использовать
источник
.splitlines
, что, если в строках есть пробелы и т. Д.split("\n")
. Является лиsplitlines
лучше.split("\n")
?\r\n
и другой тип границ линии , а также.\n
,splitlines()
она проигнорирует, а в конце результатаsplit("\n")
будет дополнительная пустая строка""
.Если вы хотите разделить только символы новой строки , лучше использовать splitlines () :
Пример:
С split () он также работает:
Тем не мение:
источник
data.split('\n')
?Специально для этого есть метод:
источник
Ну вот:
источник