Hướng dẫn python regex replace numbers in string - python regex thay thế các số trong chuỗi
Tôi đang cố gắng xóa tất cả các chữ số khỏi một chuỗi. Tuy nhiên, mã tiếp theo sẽ xóa các chữ số cũng có trong bất kỳ từ nào và rõ ràng tôi không muốn điều đó. Tôi đã thử nhiều biểu cảm thường xuyên mà không thành công. Show Thanks!
Result:
Siêu bão 4.7465 Huy hiệu vàng20 Huy hiệu bạc32 Huy hiệu Đồng5 gold badges20 silver badges32 bronze badges Đã hỏi ngày 3 tháng 5 năm 2009 lúc 13:59May 3, 2009 at 13:59
0 Thêm một khoảng trống trước \ d+.
Chỉnh sửa: Sau khi xem xét các bình luận, tôi quyết định đưa ra một câu trả lời đầy đủ hơn. Tôi nghĩ rằng tài khoản này cho tất cả các trường hợp.
Đã trả lời ngày 3 tháng 5 năm 2009 lúc 14:04May 3, 2009 at 14:04
OnePorterOnePorteroneporter 2.9543 huy hiệu vàng22 Huy hiệu bạc15 Huy hiệu đồng3 gold badges22 silver badges15 bronze badges 3 Thử cái này:
Điều đó sẽ chỉ phù hợp với những chữ số không phải là một phần của một từ khác. Đã trả lời ngày 3 tháng 5 năm 2009 lúc 14:12May 3, 2009 at 14:12
Jrcalzadajrcalzadajrcalzada 3621 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges 4 Sử dụng 0 không tốt lắm, vì nó không xử lý các tab, et al. Cắt đầu tiên tại một giải pháp tốt hơn là:
Lưu ý rằng mẫu là một chuỗi thô vì 1 thường là lối thoát không gian ngược cho các chuỗi và chúng tôi muốn lối thoát REGEX từ đặc biệt. Một phiên bản một chút fancier là:
Điều đó cố gắng loại bỏ khoảng trắng hàng đầu/dấu vết khi có các chữ số ở đầu/cuối của chuỗi. Tôi nói "cố gắng" bởi vì nếu có nhiều số ở cuối thì bạn vẫn có một số không gian. Đã trả lời ngày 3 tháng 5 năm 2009 lúc 15:05May 3, 2009 at 15:05
DWCDWCdwc 23,5K7 Huy hiệu vàng43 Huy hiệu bạc54 Huy hiệu đồng7 gold badges43 silver badges54 bronze badges Để xử lý các chuỗi chữ số ở đầu một dòng:
Đã trả lời ngày 3 tháng 5 năm 2009 lúc 14:23May 3, 2009 at 14:23
Bạn có thể thử cái này
kết quả:
Quy tắc tương tự cũng áp dụng cho
result:
Đã trả lời ngày 15 tháng 12 năm 2018 lúc 7:45Dec 15, 2018 at 7:45
Adesstadesstadesst 1872 Huy hiệu bạc7 Huy hiệu đồng2 silver badges7 bronze badges Để chỉ khớp các số nguyên tinh khiết trong một chuỗi: 1Nó làm đúng với điều này, chỉ phù hợp với mọi thứ sau triệu: 2Tất cả 8 câu trả lời khác của Regex trên trang này đều thất bại theo nhiều cách khác nhau với đầu vào đó. Dấu gạch ngang ở cuối bằng 0-9 đầu tiên đó ... [0-9-] ... bảo tồn -007 và dấu gạch ngang trong bộ thứ hai bảo tồn 8-. Hoặc \ d thay thế 0-9 nếu bạn thích tại Regex101 Nó có thể được đơn giản hóa? Đã trả lời ngày 15 tháng 3 năm 2021 lúc 2:38Mar 15, 2021 at 2:38
GSEATTLEGSEATTLEgseattle 9211 Huy hiệu vàng13 Huy hiệu bạc23 Huy hiệu đồng1 gold badge13 silver badges23 bronze badges 1 Tôi không biết tình huống thực sự của bạn trông như thế nào, nhưng hầu hết các câu trả lời trông giống như chúng sẽ không xử lý các số âm hoặc số thập phân, 2Ở trên cũng nên xử lý những thứ như, "Điều này không được B3 Delet3D, mà là số ở cuối có -134.411" Nhưng điều này vẫn chưa đầy đủ - có lẽ bạn cần một định nghĩa đầy đủ hơn về những gì bạn có thể mong đợi để tìm thấy trong các tệp bạn cần phân tích. EDIT: Cũng đáng lưu ý rằng các thay đổi '\ b' tùy thuộc vào địa phương/bộ ký tự bạn đang sử dụng để bạn cần phải cẩn thận một chút với điều đó. Đã trả lời ngày 3 tháng 5 năm 2009 lúc 15:37May 3, 2009 at 15:37
si28719esi28719esi28719e 2.1355 huy hiệu vàng20 Huy hiệu bạc22 Huy hiệu đồng5 gold badges20 silver badges22 bronze badges Nếu số của bạn là luôn luôn ở cuối chuỗi của bạn, hãy thử: 3Nếu không, bạn có thể thử 4Bạn có thể điều chỉnh các tham chiếu back
Areza 5.0187 Huy hiệu vàng42 Huy hiệu bạc71 Huy hiệu đồng7 gold badges42 silver badges71 bronze badges Đã trả lời ngày 3 tháng 5 năm 2009 lúc 14:06May 3, 2009 at 14:06
1 Giải pháp không regex: 5Chia tách bởi 4 và kiểm tra xem phần Chunk có phải là số bằng cách làm 5 không, sau đó kết hợp chúng lại với nhau. Verbosely (không sử dụng danh sách hiểu): 6Đã trả lời ngày 3 tháng 5 năm 2009 lúc 15:21May 3, 2009 at 15:21
DBRDBRdbr 162K65 Huy hiệu vàng273 Huy hiệu bạc340 Huy hiệu Đồng65 gold badges273 silver badges340 bronze badges Tôi đã có một khoảnh khắc ánh sáng, tôi đã thử và nó hoạt động: 7output: 8Đã trả lời ngày 28 tháng 11 năm 2021 lúc 16:49Nov 28, 2021 at 16:49
Ryhnryhnryhn 766 huy hiệu đồng6 bronze badges 9"Điều này không được B3 Delet3D, mà là số ở cuối có" Điều này sẽ loại bỏ các số ở cuối chuỗi. Đã trả lời ngày 20 tháng 11 năm 2017 lúc 12:54Nov 20, 2017 at 12:54
Làm cách nào để thay thế một số trong một chuỗi trong Python?Phương thức số 1: Sử dụng thay thế () + isDigit () Trong này, chúng tôi kiểm tra số bằng isDigit () và thay thế () được sử dụng để thực hiện nhiệm vụ thay thế các số bằng K.Using replace() + isdigit()
In this, we check for numerics using isdigit() and replace() is used to perform the task of replacing the numbers by K.
Làm cách nào để loại bỏ các chữ số khỏi chuỗi trong Python?Hãy thảo luận về những cách khác nhau mà chúng ta có thể đạt được nhiệm vụ này ... Phương pháp số 1: Sử dụng tham gia và isDigit (). Phương pháp số 2: Sử dụng dịch và chữ số .. Phương pháp số 3: Sử dụng Bộ lọc và Lambda .. Phương thức số 4 sử dụng Join () và Isalpha (). Phương pháp số 5: Sử dụng vòng lặp và trong .. Phương pháp số 6: Sử dụng hàm ord () .. Làm thế nào để bạn thay thế tất cả các lần xuất hiện của một mẫu regex trong một python chuỗi?Đếm: Số lượng tối đa của các lần xuất hiện được thay thế.Số lượng phải luôn luôn là một số nguyên dương nếu được chỉ định..Theo mặc định, số lượng được đặt thành 0, có nghĩa là phương thức re.sub () sẽ thay thế tất cả các lần xuất hiện mẫu trong chuỗi đích.re. sub() method will replace all pattern occurrences in the target string.
Bạn có thể sử dụng thay thế trong Python Regex không?Để thay thế một chuỗi trong Python, phương thức Regex Sub () được sử dụng.Đây là một phương thức Python tích hợp trong mô-đun RE trả về chuỗi thay thế.Đừng quên nhập mô -đun lại.Phương thức này tìm kiếm mẫu trong chuỗi và sau đó thay thế nó bằng một biểu thức mới được cho.the regex sub() method is used. It is a built-in Python method in re module that returns replaced string. Don't forget to import the re module. This method searches the pattern in the string and then replace it with a new given expression. |