Tôi cóLàm thế nào để trích xuất một số từ một chuỗi trong Perl?
print $str;
abcd*%1234$sdfsd..#d
Chuỗi sẽ luôn luôn chỉ có một dải liên tục của các con số, như 1234
trong trường hợp này. Phần còn lại tất cả sẽ là bảng chữ cái hoặc các ký tự đặc biệt khác.
Làm cách nào tôi có thể trích xuất số (1234
trong trường hợp này) và lưu trữ lại trong str
?
This page khuyên tôi nên sử dụng \d
, nhưng làm cách nào?
Lazer yêu cầu một số, không chỉ là số nguyên. Regexp này sẽ thả '.',' e' có thể được sử dụng để tạo thành một phao. Ngoài ra '\ d' không chỉ là' [0-9] ', do hỗ trợ Unicode trong Perl: các chữ số trong các chữ cái khác (như ấn độ) là hợp lệ. Vì vậy, regexp của bạn cũng sẽ chấp nhận các chuỗi không phải là số. – dolmen
@dolmen Lazer nên cụ thể hơn, sau đó. Ví dụ của ông không bao gồm số thập phân hoặc số mũ, và tôi không thể biết chắc chắn liệu ông có muốn đưa họ vào hay không. Mặc dù vậy, bạn đã sửa về các chữ số của tập lệnh biến thể unicode, tôi sẽ chỉnh sửa. –