35
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi có một chuỗi
s = 'abcd qwrre qwedsasd zxcwsacds'
Tôi muốn phân chia bất kỳ chuỗi nào chỉ trong hai phần ở lần xuất hiện đầu tiên của khoảng trắng. tức là
'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
0 và '1 2 3'.split[maxsplit=1]
# ['1', '2 3']
1Nếu tôi sử dụng
'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
2, nó sẽ cho tôi một lỗi vì có quá nhiều giá trị để giải nén.
Đã hỏi ngày 14 tháng 6 năm 2018 lúc 2:26Jun 14, 2018 at 2:26
1
Bạn có thể sử dụng
'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
3.Đối số thứ hai
'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
4 là số lượng phân tách tối đa sẽ được thực hiện.s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
Để biết thêm thông tin về chức năng phân chia chuỗi, xem
'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
5 trong hướng dẫn.
Ilkkachu
6.07715 huy hiệu bạc28 Huy hiệu đồng15 silver badges28 bronze badges
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:35Jun 14, 2018 at 2:35
Từ các tài liệu Python
str.split [sep = none, maxsplit = -1]
Trả về một danh sách các từ trong chuỗi, sử dụng SEP làm chuỗi DELIMITER. Nếu MAXSplit được đưa ra, tại hầu hết các phân tách MaxSplit được thực hiện [do đó, danh sách sẽ có hầu hết các phần tử MaxSplit+1]. Nếu MaxSplit không được chỉ định hoặc -1, thì không có giới hạn về số lượng phân tách [tất cả các phân tách có thể được thực hiện].
'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:35Jun 14, 2018 at 2:35
Từ các tài liệu Pythonajxs
str.split [sep = none, maxsplit = -1]2 gold badges17 silver badges29 bronze badges
5
Trả về một danh sách các từ trong chuỗi, sử dụng SEP làm chuỗi DELIMITER. Nếu MAXSplit được đưa ra, tại hầu hết các phân tách MaxSplit được thực hiện [do đó, danh sách sẽ có hầu hết các phần tử MaxSplit+1]. Nếu MaxSplit không được chỉ định hoặc -1, thì không có giới hạn về số lượng phân tách [tất cả các phân tách có thể được thực hiện].
>>> s = 'abcd qwrre qwedsasd zxcwsacds'
>>> s.partition[' ']
['abcd', ' ', 'qwrre qwedsasd zxcwsacds']
ajxsajxsJun 14, 2018 at 2:38
3.1172 Huy hiệu vàng17 Huy hiệu bạc29 Huy hiệu đồngconstt
Bạn có thể sử dụng phương thức chuỗi tiêu chuẩn
6 tìm kiếm một dấu phân cách nhất định và trả về 3-tuple bao gồm phần chuỗi trước nó, chính bộ phân cách và phần sau nó.1 gold badge16 silver badges18 bronze badges'1 2 3'.split[maxsplit=1]
# ['1', '2 3']
2
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:38
s='abcd qwrre qwedsasd zxcwsacds'
>>> a, b = s.split[' ', 1]
>>> print[a, b]
consttconsttJun 14, 2018 at 2:43
2.1551 Huy hiệu vàng16 Huy hiệu bạc18 Huy hiệu đồng
s = 'abcd qwrre qwedsasd zxcwsacds'
s1 = s.split[][0]
s2 = ' '.join[s.split[][1:]]
print[s1]
print[s2]
Output:
abcd
qwrre qwedsasd zxcwsacds
Or:
new_s = ''.join[[' s ' if i.isspace[] else i for i in s]]
a,b = new_s.replace[' s','',1].split[' s ']
print[a]
print[b]
Output:
abcd
qwrre qwedsasd zxcwsacds
Bạn đang thiếu một tham số nữa trong sự phân chia của mình, số lần xuất hiện, thử điều này;
a,b = s.split[None,1]
print[a]
print[b]
Output:
abcd
qwrre qwedsasd zxcwsacds
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:43Jun 14, 2018 at 2:41
U12-ForwardU12-ForwardU12-Forward
Thử cái này:13 gold badges77 silver badges96 bronze badges
Hoặc thậm chí chia tách tốt hơn cho các tab và newlines:
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
1Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:41
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
2Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:43Jun 14, 2018 at 2:41
JJ123JJ123JJ123
Thử cái này:1 gold badge4 silver badges14 bronze badges
Hoặc thậm chí chia tách tốt hơn cho các tab và newlines:
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
3Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:41
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
43.
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
566.3K13 Huy hiệu vàng77 Huy hiệu bạc96 Huy hiệu ĐồngJun 14, 2018 at 2:32
Bạn có thể giải quyết vấn đề này bằng cách sử dụng "biểu thức sao" của Python.Rajat Jain
"Đầu tiên" lấy phần tử đầu tiên của danh sách và " *thứ hai" lấy các phần tử còn lại.2 gold badges15 silver badges28 bronze badges
5511 Huy hiệu vàng4 Huy hiệu bạc14 Huy hiệu đồng
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
61. Bạn có thể phân chia chuỗi như thế này.
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
72. Hoặc bạn có thể làm:
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
8Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:32Jun 14, 2018 at 11:49
Rajat Jainrajat Jainmroman
1.2632 huy hiệu vàng15 Huy hiệu bạc28 Huy hiệu đồng8 silver badges13 bronze badges
s = 'abcd efgh hijk'
a,b = s.split[' ', 1]
print[a] #abcd
print[b] #efgh hijk
9Đã trả lời ngày 14 tháng 6 năm 2018 lúc 2:35Jun 14, 2018 at 2:35
Từ các tài liệu PythonMichael Swartz
str.split [sep = none, maxsplit = -1]2 gold badges15 silver badges25 bronze badges