Hướng dẫn này sẽ trình bày các phương pháp để loại bỏ một tập hợp các dấu ngoặc đơn khỏi một chuỗi cụ thể trong Python
Xóa dấu ngoặc đơn khỏi chuỗi bằng Thao tác chuỗi trong Python
Mặc định chúng ta có sẵn nhiều hàm để thực hiện thao tác chuỗi trong Python. Đối với vấn đề cụ thể này, chúng ta có thể sử dụng hàm
This is a string
7 trong PythonHàm
This is a string
7 thay thế một chuỗi hoặc ký tự bên trong chuỗi chính của chúng ta bằng một chuỗi hoặc ký tự khác. Hàm này nhận hai đối số. giá trị cũ và giá trị mới. Nó thay thế giá trị cũ bằng giá trị mới và trả về chuỗi mớiĐoạn mã ví dụ sau cho chúng ta thấy cách xóa một tập hợp các dấu ngoặc đơn khỏi chuỗi của chúng ta bằng hàm
This is a string
7string = "[This is [a] string]"
string = string.replace["[",""].replace["]",""]
print[string]
đầu ra
This is a string
Chúng tôi đã xóa dấu ngoặc đơn bên trong biến
This is a string
0 của mình bằng cách sử dụng hàm This is a string
1 trong mã ở trên. Chúng tôi đã đạt được mục tiêu của mình bằng cách thay thế dấu ngoặc đơn mở và đóng bằng một chuỗi trống và lưu trữ giá trị trả về bên trong chuỗi ban đầu của chúng tôiXóa dấu ngoặc đơn khỏi chuỗi bằng biểu thức chính quy trong Python
Chúng ta cũng có thể đạt được kết quả tương tự như ví dụ trước bằng cách sử dụng các biểu thức chính quy trong Python. Để sử dụng biểu thức chính quy, trước tiên chúng ta phải nhập mô-đun
This is a string
2 vào mã của mình. Hàm This is a string
0 có thể được sử dụng tại đâyHàm này lấy mẫu, chuỗi thay thế và chuỗi gốc;
Chương trình ví dụ sau đây cho chúng ta thấy cách sử dụng hàm
This is a string
0 để xóa dấu ngoặc đơn khỏi chuỗiimport re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
đầu ra
This is a string
Chúng tôi đã xóa dấu ngoặc đơn khỏi biến
This is a string
0 của mình bằng cách sử dụng hàm This is a string
0 trong mã ở trên. Chúng tôi đã đạt được mục tiêu của mình bằng cách thay thế dấu ngoặc đơn mở và đóng bằng một chuỗi trống và lưu trữ giá trị trả về bên trong chuỗi ban đầu của chúng tôiMặc dù cách tiếp cận này hơi phức tạp và đòi hỏi một số hiểu biết về khái niệm cơ bản của biểu thức chính quy trong Python, nhưng cách tiếp cận này là cách được khuyên dùng nhất. Biểu thức chính quy có nhiều ứng dụng hơn so với hàm
This is a string
7 đơn giản cho chuỗi. Mọi lập trình viên Python giỏi ít nhất phải có hiểu biết cơ bản về các biểu thức chính quy Rivers Clothing có tệp CSV chứa tất cả nhân viên của họ. Định dạng hiện tại là tên [tên đệm] và họ [ví dụ: Martin [Robert] Simpson]. Tuy nhiên, họ muốn thiết kế thay đổi
Đoạn trích của emps. csv
emp_name0Martin [Robert] Simpson1Howie [George] Smith2Alice [May] Jones3Micah [Ray] Hamilton4Joey [Jon] HowardHãy cung cấp cho họ hai [2] tùy chọn để chọn
💬 câu hỏi. Làm thế nào chúng ta sẽ viết mã để loại bỏ văn bản trong dấu ngoặc đơn?
Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau
- Phương pháp 1. Sử dụng
5 và cắt látThis is a string
- Phương pháp 2. Sử dụng
6This is a string
- Phương pháp 3. Sử dụng
7This is a string
- Thưởng. Cập nhật khung dữ liệu
Phương pháp 1. Sử dụng find[] và cắt lát
Ví dụ này sử dụng phương pháp
This is a string
5 để định vị và xóa văn bản bên trong một chuỗi. Nó trả về một số nguyên với vị trí nếu tìm thấy hoặc -1 nếu không tìm thấy. Cắt lát được sử dụng để định dạng kết quảTrong ví dụ này, hãy sử dụng tên của nhân viên đầu tiên để kiểm tra với
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"1
lựa chọn 1. Xóa văn bản và dấu ngoặc
Tùy chọn này sẽ định dạng tên là. Martin Simpson
________số 8Dòng đầu tiên trong đoạn mã trên khai báo tên của một nhân viên. Sau đó, hàm
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"2 được thêm vào để xóa mọi ký tự khoảng trắng khỏi chuỗi. Điều này mang lại cho chúng tôi đầu ra sau
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"3
Hai [2] dòng sau xác định vị trí xuất hiện đầu tiên của cả hai ký tự
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"4 và
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"5. Kết quả lần lượt lưu vào
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"6 và
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"7. Nếu xuất ra thiết bị đầu cuối, màn hình sau
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"8
Chúng ta có thể kết luận rằng ký tự
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"4 được tìm thấy ở vị trí 6 và ký tự
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"5 được tìm thấy ở vị trí 13
Các dòng sau xóa văn bản bên trong dấu ngoặc [cũng như dấu ngoặc]. Đầu ra được định dạng là tên và họ bằng cách sử dụng
This is a string
81 và This is a string
82. Kết quả lưu vào This is a string
83 và xuất ra thiết bị đầu cuốiThis is a string
84Hãy để mã này hoạt động và cập nhật tệp
This is a string
85 được tạo trước đóimport pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
Dòng đầu tiên trong đoạn mã trên nhập thư viện gấu trúc
Dòng sau đọc trong tệp
This is a string
85 vào DataFrame, This is a string
87👉 Hướng dẫn đề xuất. Làm cách nào để đọc tệp CSV bằng Python?
Vòng lặp
This is a string
88 được khởi tạo để lặp qua từng hàng trong cột Khung dữ liệu This is a string
89Bên trong tuyên bố này, chúng tôi lấy mã được viết trước đó và tinh chỉnh nó. Thay vì sử dụng
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"2, chúng tôi sử dụng
This is a string
91 để xóa mọi khoảng trắng thừa và cắt lát được sử dụng để định dạng dữ liệu. Kết quả của tệp This is a string
85 hiển thị bên dướiemp_name0Martin Simpson1Howie Smith2Alice Jones3Micah Hamilton4Joey Howard💡Các đoạn mã trên sẽ cần được sửa đổi để đáp ứng các yêu cầu cụ thể của bạn
Lựa chọn 2. Xóa văn bản Giữ dấu ngoặc
Tùy chọn này sẽ định dạng tên là
This is a string
93. Điều này có thể được thực hiện để phù hợp với việc sử dụng tên đệm cuối cùng. Ví dụ. Martin [R. ] Simpson
This is a string
8Mã này hoạt động tương tự như Tùy chọn 1 ở trên. Tuy nhiên, ở định dạng chuỗi f, các ký tự
This is a string
94 được thêm vào giữa họ và tênThis is a string
93Phương thức chuỗi Python [Hướng dẫn cơ bản]
Xem video này trên YouTube
Phương pháp 2. Sử dụng chia[]
Ví dụ này sử dụng hàm
This is a string
6 để tách một chuỗi trên ký tự khoảng trắng, lưu nó dưới dạng Danh sách và xóa văn bản trong dấu ngoặclựa chọn 1. Xóa văn bản và dấu ngoặc
This is a string
9Dòng đầu tiên sử dụng hàm
This is a string
6 tích hợp sẵn của Python để ngắt chuỗi trên một ký tự được chỉ định. Nếu không có đối số nào được thông qua, một ký tự khoảng trắng được giả định. Lưu kết quả dưới dạng Danh sách vào This is a string
98This is a string
99Dòng sau cấu hình
This is a string
83. Tùy chọn này xóa văn bản bên trong dấu ngoặc [bao gồm cả dấu ngoặc]. Kết quả được xuất ra thiết bị đầu cuốiThis is a string
84Lựa chọn 2. Xóa văn bản Giữ dấu ngoặc
Dòng sau hiển thị
import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
022, loại bỏ dữ liệu giữa các dấu ngoặc và giữ nguyên các dấu ngoặcThis is a string
93Hướng dẫn cơ bản để cắt lát trong Python
Xem video này trên YouTube
Phương pháp 3. sử dụng lại. phụ[]
Ví dụ này sử dụng hàm
import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
04 từ thư viện import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
05 để xóa dữ liệu bên trong dấu ngoặclựa chọn 1. Xóa văn bản và dấu ngoặc
import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
0Dòng đầu tiên trong đoạn mã trên nhập thư viện
import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
05. Thư viện này, cho phép chúng tôi sử dụng chức năng This is a string
7 để xóa dữ liệu bên trong dấu ngoặc cũng như chính dấu ngoặcDòng sau xóa tất cả các ký tự khoảng trắng bằng cách sử dụng
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"2. Nếu xuất ra thiết bị đầu cuối, màn hình sau
import pandas as pd df = pd.read_csv['emps.csv'] for i in range[len[df]]: strt_pos = df['emp_name'].values[i].find['['] stop_pos = df['emp_name'].values[i].find[']'] df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"3
Tiếp theo, một mẫu
import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
05 được xác định để xóa các ký tự This is a string
94 cũng như các ký tự trong cùng một. Sau đó, một ký tự khoảng trắng được thêm vào để phân tách tên với họ và kết quả được lưu vào This is a string
83và xuất ra thiết bị đầu cuốiThis is a string
84Lựa chọn 2. Xóa văn bản Giữ dấu ngoặc
Một tùy chọn khác là xóa dữ liệu bên trong dấu ngoặc _______294 và để nguyên dấu ngoặc
This is a string
3____293🤔Bạn có nhận ra sự khác nhau giữa Option 1 và Option 2 không?
5 kỹ năng phải có để trở thành lập trình viên [mà bạn chưa biết]
Xem video này trên YouTube
Thưởng. Cập nhật cột DataFrame
Điều gì sẽ xảy ra nếu Rivers Clothing muốn tên được định dạng như sau.
This is a string
36This is a string
6emp_name0Martin [R. ] Simpson1Howie [G. ] Smith2Alice [M. ] Jones3Micah [R. ] Hamilton4Joey [J. ] Howard10 phút để gấu trúc trong 5 phút [Được rồi 8]
Xem video này trên YouTube
Bản tóm tắt
Bài viết này đã cung cấp bốn [4] cách để loại bỏ dữ liệu giữa các dấu ngoặc để chọn cách phù hợp nhất cho yêu cầu viết mã của bạn