Hướng dẫn python remove everything before underscore - python xóa mọi thứ trước khi gạch dưới

38

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.

Mã sau trở lại vào đầu ra dễ đọc.

def add_line_remove_special[ta_from,endstatus,*args,**kwargs]:
    try:
        ta_to = ta_from.copyta[status=endstatus]
        infile = botslib.opendata[ta_from.filename,'r']
        tofile = botslib.opendata[str[ta_to.idta],'wb']
        start = infile.readline[]
        import textwrap
        lines= "\r\n".join[textwrap.wrap[start, 640]]
        tofile.write[lines]
        infile.close[]
        tofile.close[]

Đây là đầu ra, bây giờ tôi muốn xóa tất cả các ký tự cho đến khi và bao gồm

Ichg_UNBUNOA3                                   14                2090100000015                      14                1304221445000001
MSG_BGM380                                         610809                             9  NA
MSG_DTM13720130422                           102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015                         9
Grp2_NADIV 2090100000015                         9
Grp2_NADDP 2090100000015                         9
Grp7_CUX2  EUR4
Grp8_PAT22                                                                                              5  3  D   30
Grp25_LIN1        02090100000022                     EN
Grp25_QTY47               5
Grp25_QTY12               5
Grp26_MOA203             15.00
Grp28_PRIINV        3000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
Grp25_LIN2        02090100000039                     EN
Grp25_QTY47              10
Grp25_QTY12              10
Grp26_MOA203            350.00
Grp28_PRIINV       35000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
6

Ichg_UNBUNOA3                                   14                2090100000015                      14                1304221445000001
MSG_BGM380                                         610809                             9  NA
MSG_DTM13720130422                           102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015                         9
Grp2_NADIV 2090100000015                         9
Grp2_NADDP 2090100000015                         9
Grp7_CUX2  EUR4
Grp8_PAT22                                                                                              5  3  D   30
Grp25_LIN1        02090100000022                     EN
Grp25_QTY47               5
Grp25_QTY12               5
Grp26_MOA203             15.00
Grp28_PRIINV        3000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
Grp25_LIN2        02090100000039                     EN
Grp25_QTY47              10
Grp25_QTY12              10
Grp26_MOA203            350.00
Grp28_PRIINV       35000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S

Tôi có thể làm cái này như thế nào?

Đã hỏi ngày 6 tháng 5 năm 2013 lúc 19:15May 6, 2013 at 19:15

Để có được tất cả văn bản trên một dòng sau một ký tự dấu gạch dưới, hãy chia trên ký tự

Ichg_UNBUNOA3                                   14                2090100000015                      14                1304221445000001
MSG_BGM380                                         610809                             9  NA
MSG_DTM13720130422                           102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015                         9
Grp2_NADIV 2090100000015                         9
Grp2_NADDP 2090100000015                         9
Grp7_CUX2  EUR4
Grp8_PAT22                                                                                              5  3  D   30
Grp25_LIN1        02090100000022                     EN
Grp25_QTY47               5
Grp25_QTY12               5
Grp26_MOA203             15.00
Grp28_PRIINV        3000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
Grp25_LIN2        02090100000039                     EN
Grp25_QTY47              10
Grp25_QTY12              10
Grp26_MOA203            350.00
Grp28_PRIINV       35000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
6 đầu tiên và lấy phần tử cuối cùng của kết quả:

line.split['_', 1][-1]

Điều này cũng sẽ hoạt động cho các dòng không có ký tự dấu gạch dưới trên dòng.

Demo:

>>> 'Grp25_QTY47               5'.split['_', 1][-1]
'QTY47               5'
>>> 'No underscore'.split['_', 1][-1]
'No underscore'

Dịch cái này sang mã của bạn:

import textwrap

ta_to = ta_from.copyta[status=endstatus]
with botslib.opendata[ta_from.filename,'r'] as infile:
    with botslib.opendata[str[ta_to.idta],'wb'] as tofile:
        for line in textwrap.wrap[next[infile], 640]:
            line = line.split['_', 1][-1]
            tofile.write[line + '\r\n']

Đã trả lời ngày 6 tháng 5 năm 2013 lúc 19:16May 6, 2013 at 19:16

Martijn Pieters ♦ Martijn PietersMartijn Pieters

990K276 Huy hiệu vàng3896 Huy hiệu bạc3249 Huy hiệu đồng276 gold badges3896 silver badges3249 bronze badges

5

Bài viết này sẽ thảo luận về các cách khác nhau để loại bỏ tất cả các ký tự trước một nhân vật cụ thể khỏi một chuỗi trong Python.

Mục lục

  • Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng Split []
  • Xóa mọi thứ trước một ký tự trong chuỗi bằng phân vùng []
  • Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng regex
  • Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng toán tử giám sát

Giả sử chúng ta có một chuỗi,

"The Last-Warrior"

Chúng tôi muốn xóa tất cả các ký tự trước ký tự ‘-từ chuỗi này, bao gồm cả ký tự‘-‘. Chuỗi cuối cùng phải giống như,

"Warrior"

Có nhiều cách khác nhau để làm điều này. Hãy để chúng tôi thảo luận từng người một.

Quảng cáo

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng Split []

Xóa mọi thứ trước một ký tự trong chuỗi bằng phân vùng []

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng regexsplit[‘-‘, 1] function will split the string into 2 parts,

  • Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng toán tử giám sát
  • Giả sử chúng ta có một chuỗi,

Chúng tôi muốn xóa tất cả các ký tự trước ký tự ‘-từ chuỗi này, bao gồm cả ký tự‘-‘. Chuỗi cuối cùng phải giống như,

Có nhiều cách khác nhau để làm điều này. Hãy để chúng tôi thảo luận từng người một.

strValue = "The Last-Warrior"

ch = '-'

# Remove all characters before the character '-' from string
listOfWords = strValue.split[ch, 1]
if len[listOfWords] > 0: 
    strValue = listOfWords[1]

print[strValue]

Output:

Warrior

Nó đã xóa mọi thứ trước ký tự ‘-‘ khỏi chuỗi.

Xóa mọi thứ trước một ký tự trong chuỗi bằng phân vùng []

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng regex

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng toán tử giám sát

Có nhiều cách khác nhau để làm điều này. Hãy để chúng tôi thảo luận từng người một.

strValue = "The Last-Warrior"

ch = '-'

# Remove all characters before the character '-' from string
before, sep, after = strValue.partition['-']

if len[after] > 0:
    strValue = after

print[strValue]

Output:

Warrior

Nó đã xóa mọi thứ trước ký tự ‘-‘ khỏi chuỗi.

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng regex

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng toán tử giám sát

Ichg_UNBUNOA3                                   14                2090100000015                      14                1304221445000001
MSG_BGM380                                         610809                             9  NA
MSG_DTM13720130422                           102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015                         9
Grp2_NADIV 2090100000015                         9
Grp2_NADDP 2090100000015                         9
Grp7_CUX2  EUR4
Grp8_PAT22                                                                                              5  3  D   30
Grp25_LIN1        02090100000022                     EN
Grp25_QTY47               5
Grp25_QTY12               5
Grp26_MOA203             15.00
Grp28_PRIINV        3000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
Grp25_LIN2        02090100000039                     EN
Grp25_QTY47              10
Grp25_QTY12              10
Grp26_MOA203            350.00
Grp28_PRIINV       35000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
1

Giả sử chúng ta có một chuỗi,pattern in the sting original_str and replaces all occurrences of matches with the string replacement_str.

Chúng tôi muốn xóa tất cả các ký tự trước ký tự ‘-từ chuỗi này, bao gồm cả ký tự‘-‘. Chuỗi cuối cùng phải giống như,

Có nhiều cách khác nhau để làm điều này. Hãy để chúng tôi thảo luận từng người một.

Ichg_UNBUNOA3                                   14                2090100000015                      14                1304221445000001
MSG_BGM380                                         610809                             9  NA
MSG_DTM13720130422                           102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015                         9
Grp2_NADIV 2090100000015                         9
Grp2_NADDP 2090100000015                         9
Grp7_CUX2  EUR4
Grp8_PAT22                                                                                              5  3  D   30
Grp25_LIN1        02090100000022                     EN
Grp25_QTY47               5
Grp25_QTY12               5
Grp26_MOA203             15.00
Grp28_PRIINV        3000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
Grp25_LIN2        02090100000039                     EN
Grp25_QTY47              10
Grp25_QTY12              10
Grp26_MOA203            350.00
Grp28_PRIINV       35000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
2

Output:

Warrior

Nó đã xóa mọi thứ trước ký tự ‘-‘ khỏi chuỗi.

Xóa mọi thứ trước một ký tự trong chuỗi bằng cách sử dụng toán tử giám sát

Giả sử chúng ta có một chuỗi,

Ví dụ,

Ichg_UNBUNOA3                                   14                2090100000015                      14                1304221445000001
MSG_BGM380                                         610809                             9  NA
MSG_DTM13720130422                           102
Grp1_RFFON test EDI
Grp2_NADBY 2090100000015                         9
Grp2_NADIV 2090100000015                         9
Grp2_NADDP 2090100000015                         9
Grp7_CUX2  EUR4
Grp8_PAT22                                                                                              5  3  D   30
Grp25_LIN1        02090100000022                     EN
Grp25_QTY47               5
Grp25_QTY12               5
Grp26_MOA203             15.00
Grp28_PRIINV        3000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
Grp25_LIN2        02090100000039                     EN
Grp25_QTY47              10
Grp25_QTY12              10
Grp26_MOA203            350.00
Grp28_PRIINV       35000.00           1000PCE
Grp33_TAX7  VAT                                                                                 21.00                              S
4

Output:

Warrior

Nó đã xóa mọi thứ trước ký tự ‘-‘ khỏi chuỗi.

Bản tóm tắt

Chúng tôi đã học cách xóa mọi thứ từ một chuỗi trước một nhân vật cụ thể trong Python.

Làm thế nào để bạn xóa mọi thứ trước một nhân vật trong Python?

Để xóa mọi thứ trước một ký tự trong một chuỗi:..
Sử dụng str. tìm [] phương thức để lấy chỉ mục của ký tự ..
Sử dụng cắt chuỗi và đặt chỉ mục bắt đầu thành chỉ mục của ký tự ..
Chuỗi mới sẽ không chứa các ký tự trước ..

Làm thế nào để bạn xóa mọi thứ sau một nhân vật trong Python?

Để loại bỏ mọi thứ sau một ký tự trong một chuỗi:..
Sử dụng str.phương thức chia [] để chia chuỗi trên dấu phân cách ..
Truy cập phần tử danh sách tại Index 0 để nhận mọi thứ trước khi phân tách ..
Tùy chọn, sử dụng toán tử bổ sung [+] để thêm dấu phân cách ..

Làm cách nào để loại bỏ sự xuất hiện cuối cùng của một chuỗi nhấn mạnh trong Python?

Hủy bỏ ký tự khỏi chuỗi python: thay thế [] phương thức thay thế [] loại bỏ ký tự gạch dưới khỏi chuỗi gốc và thay thế tất cả các phiên bản của ký tự đó bằng một chuỗi trống.replace[] The replace[] method removes the underscore character from the original string and replaces all instances of that character with an empty string.

Làm thế nào để bạn xóa một cái gì đó trước một không gian trong Python?

Chức năng Dải chuỗi Python [] sẽ loại bỏ các khoảng trắng dẫn đầu và theo dõi.Nếu bạn muốn loại bỏ các không gian dẫn hoặc dấu vết, hãy sử dụng hàm lstrip [] hoặc rstrip [] thay thế.strip[] function will remove leading and trailing whitespaces. If you want to remove only leading or trailing spaces, use lstrip[] or rstrip[] function instead.

Bài Viết Liên Quan

Chủ Đề