Xóa ký tự trong chuỗi python (strip ,lstrip, rstrip, replace ) | Laptrinhcanban.com

Xóa ký tự trong chuỗi python (strip ,lstrip, rstrip, replace )

Hướng dẫn xóa ký tự trong chuỗi python. Bạn sẽ học được tất cả các cách xóa ký tự trong chuỗi python bằng các phương thức có sẵn như strip ,lstrip, rstrip, replace trong bài viết này.

Chúng ta có 6 phương pháp để xóa ký tự trong chuỗi python như sau:

  • Phương thức strip() : Xóa ký tự chỉ định trong chuỗi python ở cả hai đầu
  • Phương thức lstrip(): Xóa ký tự chỉ định ở đầu chuỗi python
  • Phương thức rstrip(): Xóa ký tự chỉ định ở cuối chuỗi Python
  • Phương thức replace() Xóa toàn bộ các ký tự chỉ định trong chuỗi python
  • Cắt (slice) chuỗi : Xóa ký tự đầu tiên và xóa ký tự cuối cùng trong chuỗi Python
  • Phương thức replace() : Xóa khoảng trắng trong chuỗi Python

Xóa ký tự chỉ định trong chuỗi python ở cả hai đầu | strip() trong python

Phương thức strip() trong python

Chúng ta sử dụng phương thức strip() trong python để xóa ký tự đầu tiên trong chuỗi ở cả hai đầu và tạo ra một chuỗi string mới.

Cú pháp sử dụng phương thức strip() như sau:

new_str = org_str.strip ( chars )

Trong đó:

  • org_str là chuỗi ban đầu.
  • chars là tập hợp các ký tự muốn xóa ở cả hai đầu chuỗi org_str. Ví dụ như ta muốn xóa các ký tự a , x, 1 khỏi một chuỗi thì ta sẽ chỉ định charsax1 hoặc x1a hoặc 1ax đều được.
  • new_str là chuỗi kết quả sau khi đã xóa ký tự ở hai đầu chuỗi org_str.

Phương thức strip() sẽ tìm kiếm lần lượt từng ký tự trong đối số chars và xóa đi các ký tự giống nó ở cả hai đầu chuỗi org_str, và lưu kết quả tại một chuỗi mới.

Ví dụ, chúng ta xóa các ký tự ‘a’, ‘s’, ‘1’ ở hai đầu chuỗi ‘address1’ như sau:

org_str  =  "address1"
new_str1 = org_str.strip('as1')
new_str2 = org_str.strip('1sa')

print(new_str1)
print(new_str2)

#>> ddre
#>> ddre

Chúng ta cũng có thể xóa đi các dấu như dấu ., dấu ,, dấu ? từ hai đầu chuỗi python như sau:

org_str = "..Hello,.?."
print(org_str)
print(org_str.strip(".?,"))

#>> ..Hello,.?.
#>> Hello

Lưu ý là phương thức strip() KHÔNG làm thay đổi chuỗi ban đầu, mà chỉ xóa ký tự trong chuỗi ban đầu và lưu kết quả phép xóa trong một chuỗi mới mà thôi.

org_str  =  "address1"
print(org_str)

new_str1 = org_str.strip('as1')
print(new_str1)

print(org_str)

#>> address1
#>> ddre
#>> address1

Lại nữa, phương thức strip() sẽ xóa lần lượt từng ký tự chỉ định trong đối số chars ở cả hai đầu và dừng lại tại vị trí xuất hiện ký tự đầu tiên khác với tất cả các ký tự chỉ định trong chars.

Do đó, phương thức strip() sẽ không thể xóa đi một ký tự nếu nó nằm giữa các ký tự không được chỉ định trong đối số chars. Ví dụ, các ký tự e ở hai đầu chuỗi sau sẽ bị xóa đi, trong khi ký tự e nằm giữa ký tự cb lại không thể bị xóa.

str1 =  "eabcebe"
print(str1.strip("e"))
#>> abceb

Xóa khoảng trắng ở hai đầu chuỗi Python

Khi sử dụng phương thức strip() mà không chỉ định đối số chars, strip() sẽ tiến hành xóa mặc định các khoảng trắng ' ', tab \t hay ký tự xuống dòng \n nếu có ở cả hai đầu chuỗi ban đầu.

Lợi dụng tính chất này, chúng ta có thể sử dụng phương thức strip() để xóa khoảng trắng trong chuỗi Python ở hai đầu chuỗi, bằng cách lược bỏ đi đối số chars khi sử dụng.

Ví dụ cụ thể, các khoảng trắng ở đầu và cuối chuỗi sau sẽ bị xóa đi:

str1 = "   Hello   "
print("["+ str1 + "]")
print("["+ str1.strip() + "]")
#>> [ Hello ]
#>> [Hello]

str2 = " Adam and Eva "
print("["+ str2 + "]")
print("["+ str2.strip() + "]")
#>> [ Adam and Eva ]
#>> [Adam and Eva]

Tuy nhiên cách này chỉ có thể xóa khoảng trắng ở hai đầu chuỗi mà thôi. Nếu muốn xóa toàn bộ khoảng trắng trong chuỗi Python, hãy xem ở phần sau.

Xóa ký tự chỉ định ở đầu chuỗi python | lstrip trong Python

Chúng ta sử dụng phương thức lstrip để xóa ký tự chỉ định ở đầu chuỗi python với cú pháp sau đây:

new_str = org_str.lstrip ( chars )

Ở đây l là viết tắt của left trong tiếng anh, có nghĩa là ở đầu bên trái chuỗi chỉ định.

Phương thức lstrip() sẽ tìm kiếm lần lượt từng ký tự trong đối số chars và xóa đi các ký tự giống nó ở đầu bên trái chuỗi org_str, và lưu kết quả tại một chuỗi mới.

Cách sử dụng phương thức lstrip() về căn bản giống với strip() mà Kiyoshi đã hướng dẫn ở trên. Và tương tự strip(), phương thức lstrip() cũng KHÔNG làm thay đổi chuỗi ban đầu, mà chỉ xóa đi ký tự chỉ định trong chuỗi ban đầu và lưu kết quả phép xóa trong một chuỗi mới mà thôi.

Sau đây, hãy cùng xem một số ví dụ sử dụng lstrip() để xóa ký tự chỉ định ở đầu chuỗi python như sau:

Xóa các dấu chấm đầu chuỗi python:

org_str = "...Hello..."
new_str = org_str.lstrip(".")
print(org_str)
print(new_str)
#>> ...Hello...
#>> Hello...

Xóa các ký tự chỉ định ở đầu chuỗi python

org_str = "www.example.com"
print(org_str.lstrip("w.cmo"))
#>> example.com

Xóa khoảng trắng ở đầu chuỗi Python:

org_str = "   My   First   Love   "
new_str = org_str.lstrip()
print('['+ org_str + ']')
print('['+ new_str + ']')

#>> [ My First Love ]
#>>[My First Love ]

Xóa ký tự chỉ định ở cuối chuỗi Python | rstrip() trong Python

Chúng ta sử dụng phương thức rstrip() để xóa ký tự chỉ định ở cuối chuỗi Python với cú pháp sau đây:

new_str = org_str.rstrip ( chars )

Ở đây r là viết tắt của right trong tiếng anh, có nghĩa là ở đầu bên phải chuỗi chỉ định.

Phương thức rstrip() sẽ tìm kiếm lần lượt từng ký tự trong đối số chars và xóa đi các ký tự giống nó ở đầu bên phải chuỗi org_str, và lưu kết quả tại một chuỗi mới.

Cách sử dụng phương thức rstrip() về căn bản giống với strip() mà Kiyoshi đã hướng dẫn ở trên. Và tương tự strip(), phương thức rstrip() cũng KHÔNG làm thay đổi chuỗi ban đầu, mà chỉ xóa đi ký tự chỉ định ở cuối chuỗi ban đầu và lưu kết quả phép xóa trong một chuỗi mới mà thôi.

Sau đây, hãy cùng xem một số ví dụ sử dụng rstrip() để xóa ký tự chỉ định ở cuối chuỗi Python như sau:

Xóa các dấu chấm cuối chuỗi python:

org_str = "...Hello..."
new_str = org_str.rstrip(".")
print(org_str)
print(new_str)
#>> ...Hello...
#>> ...Hello

Xóa các ký tự chỉ định ở cuối chuỗi python

org_str = "www.example.com"
print(org_str.rstrip("w.cmo"))
#>> www.example

Xóa khoảng trắng ở cuối chuỗi Python:

org_str = "   My   First   Love   "
new_str = org_str.rstrip()
print('['+ org_str + ']')
print('['+ new_str + ']')

#>> [ My First Love ]
#>> [ My First Love]

Xóa toàn bộ các ký tự chỉ định trong chuỗi python

Trong các phương thức trên, chúng ta đã học được cách xóa một hoặc một chuỗi ký tự chỉ định với thứ tự ngẫu nhiên từ hai đầu, hoặc từ một đầu chuỗi trong python. Tuy nhiên các cách trên có nhược điểm là không thể giúp chúng ta xóa toàn bộ một hoặc một chuỗi ký tự chỉ định trong một chuỗi ban đầu được.

Để xóa toàn bộ các ký tự chỉ định trong chuỗi python, chúng ta có thể ứng dụng chức năng thay thế ký tự trong chuỗi python của phương thức replace() và chuyển các ký tự chỉ định trong chuỗi thành ký tự trống. Nhờ đó, chúng ta có thể dễ dàng xóa toàn bộ chúng khỏi chuỗi ban đầu.

Ví dụ, chúng ta sẽ xóa toàn bộ các ký tự city trong chuỗi bigcityboy như sau:

str = "bigcityboy"
print(str.replace("city", ""))
#> bigboy

Bạn có thể tìm hiểu thêm về replace trong python tại bài viết [Thay thế ký tự trong chuỗi python]

Xóa ký tự đầu tiên và xóa ký tự cuối cùng trong chuỗi Python | cắt (slice) chuỗi

Xóa ký tự đầu trong chuỗi Python

Bằng cách ứng dụng chức năng cắt (slice) chuỗi, chúng ta có thể xóa ký tự đầu trong chuỗi Python.

Ý tưởng ở đây là chúng ta sẽ tạo ra một chuỗi string mới chứa tất cả ký tự trong chuỗi cũ ngoại trừ ký tự đầu tiên của chuỗi cũ, bằng cách cắt chuỗi cũ từ ký tự thứ 2 cho tới cuối chuỗi.

Cách làm đơn giản như sau:

mystr = "aiueo"
first_delete_str = mystr[1:]
print(first_delete_str)
#>> iueo

Lưu ý là cách làm này sẽ tạo ra một chuỗi mới chứa kết quả phép xóa, chứ không làm thay đổi chuỗi ban đầu.

mystr = "12345"
print(mystr)

first_delete_str = mystr[1:]
print(first_delete_str)

print(mystr)

#> 12345
#> 2345
#> 12345

Xóa ký tự cuối trong chuỗi Python

Tương tự, bằng cách ứng dụng chức năng cắt (slice) chuỗi, chúng ta có thể xóa ký tự cuối trong chuỗi Python.

Ý tưởng ở đây là chúng ta sẽ tạo ra một chuỗi string mới chứa tất cả ký tự trong chuỗi cũ ngoại trừ ký tự cuối cùng của chuỗi cũ, bằng cách cắt chuỗi cũ từ đầu chuỗi cho đến trước ký tự cuối cùng trong chuỗi.

Cách làm đơn giản như sau:

mystr = "aiueo"
first_delete_str = mystr[:-1]
print(first_delete_str)
#>> aiue

Lưu ý là cách làm này sẽ tạo ra một chuỗi mới chứa kết quả phép xóa, chứ không làm thay đổi chuỗi ban đầu.

mystr = "12345"
print(mystr)

last_delete_str = mystr[:-1]
print(last_delete_str)

print(mystr)

#>> 12345
#>> 1234
#>> 12345

Xóa n ký tự từ đầu hoặc cuối chuỗi Python

Bằng cách ứng dụng chức năng cắt (slice) chuỗi, chúng ta có thể xóa n ký tự từ đầu hoặc cuối chuỗi Python.

Ví dụ chúng ta xóa 2 ký tự từ đầu chuỗi python như sau:

mystr = "12345"
new_str = mystr[2:]
print(new_str)
#>> 345

Tương tự chúng ta có thể xóa 2 ký tự từ cuối chuỗi python như sau:

mystr = "12345"
new_str = mystr[:-2]
print(new_str)
#>> 123

Xóa khoảng trắng trong chuỗi Python | Phương thức replace()

Để xóa khoảng trắng trong chuỗi Python, chúng ta có thể sử dụng phương thức replace() hoặc là phương thức strip() trong python.

Giống như Kiyoshi đã hướng dẫn ở phần strip() ở trên, chúng ta có thể xóa khoảng trắng ở hai đầu chuỗi Python với strip() như sau:

s = '   Adam   and   Eva   '
t = s. strip()
print(t)

#>> Adam and Eva

Trong trường hợp bạn muốn xóa toàn bộ khoảng trắng trong chuỗi Python, chúng ta sử dụng chức năng thay thế ký tự trong chuỗi của phương thức replace() và thay thế toàn bộ khoảng trắng trong chuỗi bằng một chuỗi rỗng như sau:

s = '   Adam   and   Eva   '
t = s. replace(' ','')
print(t)

#>> AdamandEva

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn cách xóa ký tự trong chuỗi python bằng các phương thức có sẵn như strip ,lstrip, rstrip rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.