Hướng dẫn how do you split a string into two parts in python? - làm thế nào để bạn chia một chuỗi thành hai phần trong python?

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']
1

Nế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ướng dẫn how do you split a string into two parts in python? - làm thế nào để bạn chia một chuỗi thành hai phần trong python?

Đã 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.

Hướng dẫn how do you split a string into two parts in python? - làm thế nào để bạn chia một chuỗi thành hai phần trong python?

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

Hướng dẫn how do you split a string into two parts in python? - làm thế nào để bạn chia một chuỗi thành hai phần trong python?

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

'1 2 3'.split(maxsplit=1)
# ['1', '2 3']
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

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

Hướng dẫn how do you split a string into two parts in python? - làm thế nào để bạn chia một chuỗi thành hai phần trong python?

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

Hướng dẫn how do you split a string into two parts in python? - làm thế nào để bạn chia một chuỗi thành hai phần trong python?

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
4

3.

s = 'abcd efgh hijk'
a,b = s.split(' ', 1)
print(a) #abcd
print(b) #efgh hijk
5

66.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
6

1. 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
7

2. 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

Làm thế nào để bạn chia một chuỗi thành hai chuỗi trong Python?

Sử dụng ký tự Newline (\ n) trong Python, chuỗi được phân chia bằng cách sử dụng ký tự dòng mới (\ n). In Python, the string is split by the use of the newline (\n) character.

Làm thế nào để bạn chia một chuỗi thành hai phần?

Bạn có thể chia một chuỗi cho mỗi ký tự bằng một chuỗi trống ('') làm bộ chia.Trong ví dụ dưới đây, chúng tôi chia cùng một thông báo bằng một chuỗi trống.Kết quả của sự phân chia sẽ là một mảng chứa tất cả các ký tự trong chuỗi tin nhắn.using an empty string('') as the splitter. In the example below, we split the same message using an empty string. The result of the split will be an array containing all the characters in the message string.

Làm thế nào để bạn chia một chuỗi làm đôi trong Python?

Hàm Len () ở đây được sử dụng để trả về độ dài của chuỗi.Chúng tôi chia chuỗi thành một nửa chứa nửa đầu của các ký tự và chuỗi con thứ hai chứa nửa còn lại.Chúng tôi sử dụng toán tử // để chia độ dài của chuỗi vì nó thực hiện phân chia sàn và một số nguyên được trả về.