Tách chuỗi python

❮ Phương thức chuỗi

Thí dụ

Tách một chuỗi thành một danh sách trong đó mỗi từ là một mục danh sách

txt = "chào mừng đến với khu rừng"

x = txt. tách ra[]

in[x]

Tự mình thử »

Định nghĩa và cách sử dụng

Phương thức split[] tách một chuỗi thành một danh sách

Bạn có thể chỉ định dấu phân cách, dấu phân cách mặc định là bất kỳ khoảng trắng nào

Ghi chú. Khi maxsplit được chỉ định, danh sách sẽ chứa số phần tử đã chỉ định cộng với một

cú pháp

chuỗi. tách [dấu phân cách, maxsplit]

Giá trị tham số

Tham sốMô tảdấu phân cáchTùy chọn. Chỉ định dấu tách để sử dụng khi tách chuỗi. Theo mặc định, mọi khoảng trắng đều là dấu phân cáchmaxsplitOptional. Chỉ định có bao nhiêu phần chia để làm. Giá trị mặc định là -1, là "tất cả các lần xuất hiện"

Thêm ví dụ

Thí dụ

Tách chuỗi, sử dụng dấu phẩy, theo sau là khoảng trắng, làm dấu phân tách

txt = "xin chào, tôi tên là Peter, tôi 26 tuổi"

x = txt. tách ra[", "]

in[x]

Tự mình thử »

Thí dụ

Sử dụng ký tự băm làm dấu phân cách

txt = "táo#chuối#anh đào#cam"

x = txt. tách ra["#"]

in[x]

Tự mình thử »

Thí dụ

Tách chuỗi thành một danh sách có tối đa 2 mục

txt = "táo#chuối#anh đào#cam"

# đặt tham số maxsplit thành 1, sẽ trả về danh sách có 2 phần tử
x = txt. tách ["#", 1]

in[x]

Tự mình thử »

❮ Phương thức chuỗi


Có rất nhiều vấn đề trong cuộc sống, khả năng sinh và lập trình viên cũng không ngoại lệ, chúng ta cần phải đối mặt với chuỗi. Chuỗi có thể đến rất nhiều dạng. Chúng ta có thể là văn bản không có cấu trúc [văn bản phi cấu trúc], tên người dùng, mô tả sản phẩm, tên cột và những thứ khác mà chúng ta có thể mô tả bằng ngôn ngữ

Với sự hiện diện gần như ở khắp mọi nơi của string, việc làm chủ các thao tác với string là tối quan trọng. May thay, Python đã làm cho việc thao tác với chuỗi trở nên đơn giản, đặc biệt là khi so sánh với các ngôn ngữ khác và thậm chí là với các phiên bản cũ của Python

Trong bài viết này, bạn sẽ tìm hiểu một thao tác cơ bản nhất với chuỗi. tách, nối và nối. Bạn không những tìm hiểu cách sử dụng những công cụ này mà còn cả cái nhìn sâu rộng về cách thức hoạt động phía sau chúng

tách chuỗi

Trong Python, chuỗi được biểu diễn bởi các đối tượng

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
2. String has any variable [immutable]. điều này có nghĩa là các đối tượng được lưu trong bộ nhớ không thể bị thay đổi. Hai sự thật này có thể giúp bạn tìm hiểu [và sau đó là ghi nhớ] cách sử dụng
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3

Bạn đã đoán được hai đặc tính của chuỗi liên quan thế nào đến tính năng phân tách trong Python chưa? . Ở một số ngôn ngữ khác [như Perl], chuỗi là đầu vào của hàm

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 thay vì một phương thức được gọi bởi chuỗi chính đó

Ghi chú. Các cách gọi phương thức chuỗi

The method as

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 is display at here chủ yếu như là các instance method. Chúng có thể được gọi là phương pháp tĩnh nhưng điều này thực sự không lý tưởng. Ví dụ

# Avoid this:
str.split['a,b,c', ',']

Cái này trông có vẻ phức tạp hơn và khó sử dụng hơn theo cách thông thường

# Do this instead:
'a,b,c'.split[',']

Để tìm hiểu thêm về instance, class và static method trong Python, vui lòng click vào đây

Còn đặc tính bất biến của chuỗi thì sao?

Ghi chú. Hoạt động tại chỗ

Các thao tác tại chỗ là các thao tác trực tiếp thay đổi các đối tượng được gọi. Một ví dụ phổ biến được sử dụng là phương pháp

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
7 được sử dụng với danh sách. Khi bạn gọi
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
7 với một danh sách, danh sách đó sẽ được thay đổi trực tiếp bằng cách thêm một danh sách khác vào

Tách không có tham số

Trước khi tìm hiểu sâu hơn, hãy cùng xem ví dụ sau

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']

Đây là một trường hợp đặc biệt của

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3. Khi không truyền vào dấu phân cách,
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 sẽ coi khoảng trắng [khoảng trắng] là dấu phân cách

Một điểm đặc biệt khác của công việc gọi

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 mà không truyền tham số chính là nó sẽ tự động bỏ qua các khoảng trắng ở đầu và cuối cũng như các khoảng trắng liên tiếp. Hãy so sánh cuộc gọi
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 trong hai trường hợp có dấu phân cách và không có dấu phân cách

>>> s = ' this   is  my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this   is  my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']

Điều đầu tiên cần chú ý chính là tính bất biến của chuỗi trong Python. Có thể thấy giá trị của chuỗi

>>> s = ' this   is  my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this   is  my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
3 không hề bị thay đổi

Điều thứ hai chính là việc gọi hàm

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 mà không có tham số sẽ trích xuất các từ trong câu và loại bỏ các khoảng trắng

Chỉ định Dấu phân cách

Mặt khác,

>>> s = ' this   is  my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this   is  my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
5 tầm thường hơn rất nhiều. Khi có khoảng trắng ở đầu hoặc cuối, bạn sẽ nhận được các chuỗi trống - bạn có thể thấy chúng ở phần tử đầu tiên và cuối cùng của danh sách trả về

Còn khi có nhiều dấu phân cách liên tiếp [ví dụ như giữa "this" với "is" và giữa "is" với "my"], các ký tự đầu tiên sẽ được coi như là dấu phân cách, các ký tự tiếp theo sẽ được trả lại

Ghi chú. Dấu phân cách trong Cuộc gọi đến

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3

Khi sử dụng khoảng trắng đơn [ký tự khoảng trắng đơn] làm dấu phân cách, bạn không bị giới hạn bởi kiểu ký tự hoặc chuỗi dài mà bạn sử dụng để làm dấu phân cách. Yêu cầu duy nhất chính là dấu tách phải là chuỗi

Hạn chế chia tách với Maxsplit

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 has an tham số không bắt buộc là
>>> s = ' this   is  my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this   is  my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
8. Mặc định,
>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3 sẽ tạo ra phân lượng tối đa. Tuy nhiên, khi bạn truyền giá trị cho
>>> s = ' this   is  my string '
>>>
>>> s.split[]
['this', 'is', 'my', 'string']
>>>
>>> s
' this   is  my string '
>>>
>>> s.split[' ']
['', 'this', '', '', 'is', '', 'my', 'string', '']
8, số phân đoạn tối đa chính bằng giá trị này

>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']

Ghép nối và tham gia các chuỗi

A Phép toán cơ bản khác là chuỗi kết nối

Nối với toán tử +

Có vài cách để thực hiện điều này, tùy theo thứ mà bạn muốn nhận được. Cách đơn giản và biến phổ biến nhất chính là sử dụng toán tử

>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
1 để kết nối các chuỗi với nhau

>>> 'a' + 'b' + 'c'
'abc'

Tiếp tục, về mặt toán học, bạn có thể nhân một chuỗi để lặp lại nó

>>> 'do' * 2
'dodo'

Hãy nhớ rằng. string has any variable. Nếu bạn kết nối hoặc nhân một chuỗi được lưu bởi một biến, bạn phải gán chuỗi mới cho một biến khác để lưu nó

>>> orig_string = 'Hello'
>>> orig_string + ', world'
'Hello, world'
>>> orig_string
'Hello'
>>> full_sentence = orig_string + ', world'
>>> full_sentence
'Hello, world'

Một chú ý khác chính là việc Python không hỗ trợ ép kiểu ẩn đối với chuỗi

>>> 'Hello' + 2
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: must be str, not int

Đây là một điều mới mẻ nếu bạn mới nhảy sang Python từ một ngôn ngữ kiểu JavaScript

Nối Với
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2

Một cách khác, mạnh mẽ hơn để kết nối các chuỗi. phương pháp

>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2

Trường hợp biến phổ biến chính là khi bạn có một iterable - ví dụ như một danh sách - bao gồm các chuỗi và bạn muốn kết hợp các chuỗi đó thành một chuỗi đơn. Tương tự

>>> 'this is my string'.split[]
['this', 'is', 'my', 'string']
3,
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2 is an instance method of string

>>> strings = ['do', 're', 'mi']
>>> ','.join[strings]
'do,re,mi'

Ở đây, chúng ta nối mỗi phần tử của

>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
6 bởi một dấu chấm phẩy [
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
7 - joiner]

>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
2 thông minh ở chỗ nó thêm bộ nối vào giữa các chuỗi trong vòng lặp mà bạn muốn nối, thay vì có thêm bộ nối và cuối mỗi chuỗi. Điều này có nghĩa là nếu iterable có kích thước là
>>> s = "this is my string"
>>> s.split[maxsplit=1]
['this', 'is my string']
9, bạn sẽ không thấy người tham gia

Chủ Đề