Hướng dẫn remove number in string python - xóa số trong chuỗi python

177

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.

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

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,3k77 gold badges77 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

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],'']

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

RocketdonkeyrocketdonkeySean Johnson

Phim huy hiệu vàng 35,3k72 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,3k76 gold badges31 silver badges70 bronze badges

1

Làm cách nào để loại bỏ số từ một chuỗi trong Python?

Trong Python, một hàm phụ [] có sẵn trong mô -đun regex để xóa số khỏi chuỗi Python. Phương thức Sub [] thay thế tất cả các tồn tại của thứ tự đã cho trong chuỗi bằng cách sử dụng chuỗi thay thế.an inbuilt function sub[] is present in the regex module to delete numbers from the Python string. The sub[] method replaces all the existences of the given order in the string using a replacement string.

Làm cách nào để xóa một số khỏi 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 số cụ thể trong Python?

Python Set Remove [] Phương thức Remove [] Xóa phần tử được chỉ định khỏi tập hợp. The remove[] method removes the specified element from the set.

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

Python loại bỏ ký tự khỏi chuỗi bằng cách sử dụng thay thế [], chúng ta có thể sử dụng chức năng String thay thế [] để thay thế một ký tự bằng một ký tự mới.Nếu chúng tôi cung cấp một chuỗi trống làm đối số thứ hai, thì ký tự sẽ bị xóa khỏi chuỗi.using replace[] We can use string replace[] function to replace a character with a new character. If we provide an empty string as the second argument, then the character will get removed from the string.

Bài Viết Liên Quan

Chủ Đề