Hướng dẫn how to remove a digit from a string in python - cách xóa một chữ số khỏi chuỗi trong python

Làm cách nào để xóa các chữ số khỏi chuỗi?

Hướng dẫn how to remove a digit from a string in python - cách xóa một chữ số khỏi chuỗi trong python

Congusbongus

12.5k6 huy hiệu vàng69 Huy hiệu bạc94 Huy hiệu đồng6 gold badges69 silver badges94 bronze badges

Hỏi ngày 12 tháng 10 năm 2012 lúc 3:27Oct 12, 2012 at 3:27

8

Điều này sẽ làm việc cho tình huống của bạn?

>>> s = '12abcd405'
>>> result = ''.join([i for i in s if not i.isdigit()])
>>> result
'abcd'

Điều này sử dụng sự hiểu biết danh sách và những gì đang xảy ra ở đây tương tự như cấu trúc này:

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)

Vì @ashwinichaudhary và @KirkStrauser chỉ ra, bạn thực sự không cần sử dụng dấu ngoặc trong một lớp lót, làm cho phần bên trong dấu ngoặc đơn trở thành một biểu thức của trình tạo (hiệu quả hơn so với khả năng hiểu danh sách). Ngay cả khi điều này không phù hợp với các yêu cầu cho nhiệm vụ của bạn, đó là điều bạn nên đọc về cuối cùng :):

>>> s = '12abcd405'
>>> result = ''.join(i for i in s if not i.isdigit())
>>> result
'abcd'

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 3:34Oct 12, 2012 at 3:34

RocketdonkeyrocketdonkeyRocketDonkey

Phim huy hiệu vàng 35,4K778 Huy hiệu bạc84 Hàng đồng7 gold badges78 silver badges84 bronze badges

7

Và, chỉ để ném nó vào hỗn hợp, là

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
7 bị lãng quên sẽ hoạt động nhanh hơn rất nhiều so với các biểu thức lặp/thông thường:

Cho Python 2:

from string import digits

s = 'abc123def456ghi789zero0'
res = s.translate(None, digits)
# 'abcdefghizero'

Cho Python 3:

from string import digits

s = 'abc123def456ghi789zero0'
remove_digits = str.maketrans('', '', digits)
res = s.translate(remove_digits)
# 'abcdefghizero'

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 9:46Oct 12, 2012 at 9:46

Hướng dẫn how to remove a digit from a string in python - cách xóa một chữ số khỏi chuỗi trong python

Jon Clements ♦ Jon ClementsJon Clements

135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng32 gold badges240 silver badges273 bronze badges

3

Không chắc chắn nếu giáo viên của bạn cho phép bạn sử dụng bộ lọc nhưng ...

filter(lambda x: x.isalpha(), "a1a2a3s3d4f5fg6h")

returns-

'aaasdffgh'

Hiệu quả hơn nhiều so với vòng lặp ...

Example:

for i in range(10):
  a.replace(str(i),'')

Hướng dẫn how to remove a digit from a string in python - cách xóa một chữ số khỏi chuỗi trong python

Fredtantini

15.1k8 Huy hiệu vàng46 Huy hiệu bạc54 Huy hiệu đồng8 gold badges46 silver badges54 bronze badges

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 4:19Oct 12, 2012 at 4:19

Alain Nisamalain NisamAlain Nisam

6623 Huy hiệu bạc13 Huy hiệu Đồng3 silver badges13 bronze badges

2

Cái này thì sao:

out_string = filter(lambda c: not c.isdigit(), in_string)

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 3:44Oct 12, 2012 at 3:44

Pavel Paulaupavel PaulauPavel Paulau

7661 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng1 gold badge7 silver badges19 bronze badges

2

Chỉ một vài (những người khác đã đề xuất một số trong số này)

Phương pháp 1:

''.join(i for i in myStr if not i.isdigit())

Phương pháp 2:

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
0

Phương pháp 3:

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
1

Phương pháp 4:

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
2

Phương pháp 5:

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
3

3

Nói ST là chuỗi không được định dạng của bạn, sau đó chạy

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
4

Như được đề cập ở trên. Nhưng tôi đoán rằng bạn cần một cái gì đó rất đơn giản vì vậy hãy nói s là chuỗi của bạn và st_res là một chuỗi không có chữ số, thì đây là mã của bạns is your string and st_res is a string without digits, then here is your code

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
5

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 4:09Oct 12, 2012 at 4:09

iddqdiddqdiddqd

1.2991 Huy hiệu vàng8 Huy hiệu bạc9 Huy hiệu đồng1 gold badge8 silver badges9 bronze badges

Tôi muốn sử dụng Regex để thực hiện điều này, nhưng vì bạn chỉ có thể sử dụng danh sách, vòng lặp, chức năng, v.v.

Đây là những gì tôi nghĩ ra:

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
6

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 3:34Oct 12, 2012 at 3:34

Hướng dẫn how to remove a digit from a string in python - cách xóa một chữ số khỏi chuỗi trong python

RocketdonkeyrocketdonkeySean Johnson

Phim huy hiệu vàng 35,4K778 Huy hiệu bạc84 Hàng đồng2 gold badges15 silver badges22 bronze badges

Và, chỉ để ném nó vào hỗn hợp, là

no_digits = []
# Iterate through the string, adding non-numbers to the no_digits list
for i in s:
    if not i.isdigit():
        no_digits.append(i)

# Now join all elements of the list with '', 
# which puts all of the characters together.
result = ''.join(no_digits)
7 bị lãng quên sẽ hoạt động nhanh hơn rất nhiều so với các biểu thức lặp/thông thường:

Đã trả lời ngày 12 tháng 10 năm 2012 lúc 3:34Oct 12, 2012 at 3:34

RocketdonkeyrocketdonkeyBaahubali

Phim huy hiệu vàng 35,4K778 Huy hiệu bạc84 Hàng đồng6 gold badges31 silver badges70 bronze badges

1

Làm thế nào để bạn xóa một chữ số khỏi một chuỗi?

Nhận chuỗi để xóa tất cả các chữ số ..
Chuyển đổi chuỗi đã cho thành một mảng ký tự ..
Khởi tạo một chuỗi trống lưu trữ kết quả ..
Đi qua mảng ký tự từ đầu đến cuối ..
Kiểm tra xem ký tự được chỉ định không phải là chữ số thì thêm ký tự này vào biến kết quả ..
Bây giờ, in kết quả ..

Làm cách nào để loại bỏ một giá trị khỏi một chuỗi trong Python?

Bạn có thể xóa một ký tự khỏi chuỗi python bằng cách sử dụng thay thế () hoặc dịch (). Cả hai phương thức này thay thế một ký tự hoặc chuỗi bằng một giá trị đã cho. Nếu một chuỗi trống được chỉ định, ký tự hoặc chuỗi bạn chọn sẽ bị xóa khỏi chuỗi mà không cần thay thế.using replace() or translate(). Both these methods replace a character or string with a given value. If an empty string is specified, the character or string you select is removed from the string without a replacement.

Làm cách nào để loại bỏ một chữ số cụ thể trong một số trong Python?

Lưu ý rằng các số nguyên python là bất biến, vì vậy cách duy nhất để loại bỏ một chữ số khỏi số nguyên là tạo một số nguyên mới không chứa chữ số.Một cách tiếp cận khác là sử dụng cắt chuỗi.Để xóa chữ số cuối cùng khỏi số nguyên: Sử dụng lớp str () để chuyển đổi số nguyên thành chuỗi.create a new integer that doesn't contain the digit. An alternative approach is to use string slicing. To remove the last digit from an integer: Use the str() class to convert the integer to a string.

Làm cách nào để xóa số khỏi danh sách chuỗi?

Đưa ra một danh sách các chuỗi, hãy viết một chương trình Python để xóa tất cả các chữ số khỏi danh sách chuỗi ...
Examples:.
Phương pháp số 1: Mẫu Python Regex Python Regex cũng có thể được sử dụng để tìm xem mỗi chuỗi có chứa một chữ số hay không và chuyển đổi chúng thành
Phương pháp số 2: Sử dụng str.....
Phương pháp số 3: Sử dụng str.....
Phương pháp số 4: Sử dụng hàm ord () ..