Làm thế nào để bạn có được mọi thứ trước một ký tự trong python?

Lưu ý rằng chuỗi là bất biến trong Python. Vì vậy, chuỗi ban đầu không thay đổi và một chuỗi mới được trả về bởi các phương thức này

1. Xóa một ký tự khỏi chuỗi bằng phương thức Naive

Trong phương pháp này, chúng ta phải chạy một vòng lặp và nối thêm các ký tự và tạo một chuỗi mới từ các ký tự hiện có ngoại trừ khi chỉ số là n. [trong đó n là chỉ số của ký tự cần xóa]

input_str = "DivasDwivedi"
  
# Printing original string  
print ["Original string: " + input_str] 
  
result_str = "" 
  
for i in range[0, len[input_str]]: 
    if i != 3: 
        result_str = result_str + input_str[i] 
  
# Printing string after removal   
print ["String after removal of i'th character : " + result_str]

đầu ra

Chuỗi gốc. DivasDwivedi
Chuỗi sau khi xóa ký tự thứ i. DivsDwivedi

2. Xóa ký tự khỏi chuỗi bằng phương thức thay thế []

str = "Engineering"
  

print ["Original string: " + str] 
  

res_str = str.replace['e', ''] 
  

# removes all occurrences of 'e' 
print ["The string after removal of character: " + res_str] 
  
# Removing 1st occurrence of e 

res_str = str.replace['e', '', 1] 
   
print ["The string after removal of character: " + res_str] 

đầu ra

Chuỗi gốc. Kỹ thuật
Chuỗi sau khi loại bỏ ký tự. Enginring
Chuỗi sau khi loại bỏ ký tự. kỹ thuật

3. Xóa ký tự khỏi chuỗi bằng cách cắt và nối

str = "Engineering"
  

print ["Original string: " + str] 
  
# Removing char at pos 3 
# using slice + concatenation 
res_str = str[:2] +  str[3:] 
  

print ["String after removal of character: " + res_str] 

đầu ra

Chuỗi gốc. Kỹ thuật
Chuỗi sau khi xóa ký tự. kỹ thuật

4. Xóa Ký tự khỏi Chuỗi bằng phương thức nối [] và hiểu danh sách

Trong kỹ thuật này, mọi phần tử của chuỗi được chuyển đổi thành một phần tử tương đương của danh sách, sau đó mỗi phần tử được nối để tạo thành một chuỗi không bao gồm ký tự cụ thể cần xóa

Khi làm việc với bộ dữ liệu trong thế giới thực bằng Python và gấu trúc, bạn sẽ cần xóa các ký tự khỏi chuỗi của mình *rất nhiều*. Tôi thấy ba phương pháp này có thể giải quyết rất nhiều vấn đề của bạn

.split[] #splits the string into two tuples around whatever character it was given and deletes that character..lstrip[] #strips everything before and including the character or set of characters you say. If left blank, deletes whitespace..rstrip[] #strips everything out from the end up to and including the character or set of characters you give. If left blank, deletes whitespace at the end.

Tài liệu python ở đây

Hãy xem qua cách chúng ta có thể sử dụng các lệnh này. Tôi sẽ sử dụng tập dữ liệu Titanic trên Kaggle và tôi muốn biết tên của mọi hành khách

Tên đầu tiên trong danh sách là

'Braund, Mr. Owen Harris'

Chúng tôi chỉ muốn cái tên “Owen” vì chúng tôi chỉ quan tâm đến những cái tên. Mọi tên nam trong danh sách hành khách đều có mẫu sau [ngoại trừ nữ, chúng ta sẽ nói về điều đó một chút]

Họ, Lời chào. First_Name Last_Name

Dưới đây là giải pháp trong một dòng mã, sau đó, tôi sẽ chia nhỏ từng bước

name = 'Braund, Mr. Owen Harris'
first_name = name.split['.'][1].lstrip[].split[' '][0]

Điều đó trở lại

'Owen'

Đó là rất nhiều mã. Hãy từng bước thực hiện các lệnh đó

Vì mọi tên đều chứa một lời chào, và do đó có một dấu chấm, trước tên, chúng ta có thể loại bỏ mọi thứ trước và sau dấu chấm. Vì vậy, đầu tiên, chúng tôi chia tên thành hai chuỗi

splitting = name.split['.']
print[splitting]
['Braund, Mr', ' Owen Harris']

Chúng tôi chỉ muốn 'Owen Harris', phần đầu tiên đó là vô ích. Vì vậy, tôi chỉ gọi chuỗi thứ hai trong danh sách, ở vị trí chỉ mục 1

________số 8

Nhưng chúng tôi không muốn khoảng trống xấu xí đó ngay từ đầu. Đó là lý do tại sao chúng tôi sử dụng. lstrip[]. Trong trường hợp này, chúng tôi chỉ muốn xóa khoảng trống, vì vậy không cần truyền bất kỳ đối số nào cho nó

First_Last = First_Last.lstrip[]
print[First_Last]
'Owen Harris'

Bây giờ chúng tôi muốn thoát khỏi tên cuối cùng. Chúng tôi làm điều đó bằng cách sử dụng. tách [] một lần nữa. Lúc này dễ dàng hơn vì luôn có khoảng cách giữa họ và tên. Tại vì. split[] xóa ký tự đang được truyền, điều đó có nghĩa là chúng ta sẽ chỉ còn lại họ và tên, không có dấu cách. Từ đó, chúng tôi chỉ muốn mục đầu tiên, ở vị trí chỉ mục 0

str = "Engineering"
  

print ["Original string: " + str] 
  

res_str = str.replace['e', ''] 
  

# removes all occurrences of 'e' 
print ["The string after removal of character: " + res_str] 
  
# Removing 1st occurrence of e 

res_str = str.replace['e', '', 1] 
   
print ["The string after removal of character: " + res_str] 
0

Vì vậy, một lần nữa, đặt tất cả mọi thứ lại với nhau thành một dòng

str = "Engineering"
  

print ["Original string: " + str] 
  

res_str = str.replace['e', ''] 
  

# removes all occurrences of 'e' 
print ["The string after removal of character: " + res_str] 
  
# Removing 1st occurrence of e 

res_str = str.replace['e', '', 1] 
   
print ["The string after removal of character: " + res_str] 
1

Thưởng. . rstrip[]

Vì vậy, điều đó giải quyết vấn đề cho những người đàn ông trong bộ dữ liệu, nhưng bây giờ hãy xem tên của phụ nữ. Họ trông như thế này

str = "Engineering"
  

print ["Original string: " + str] 
  

res_str = str.replace['e', ''] 
  

# removes all occurrences of 'e' 
print ["The string after removal of character: " + res_str] 
  
# Removing 1st occurrence of e 

res_str = str.replace['e', '', 1] 
   
print ["The string after removal of character: " + res_str] 
2

Vì vậy, tên chúng tôi muốn ở đây là Florence, đó là tên của hành khách, nhưng cô ấy được liệt kê dưới tên của chồng mình. Đây là cách chúng tôi chỉ nhận được tên của cô ấy

'Braund, Mr. Owen Harris'
0

Điều đó đưa chúng ta đến‘Florence Briggs Thayer]’

'Braund, Mr. Owen Harris'
1

Điều đó đưa chúng ta đến với 'Florence Briggs Thayer' bởi vì. rstrip[] hoạt động như. lstrip[] nhưng ở cuối từ

Chủ Đề