Tôi đang cố gắng tìm vị trí của tất cả các lần xuất hiện của một chuỗi trong một chuỗi khác, không phân biệt chữ hoa chữ thường.
Ví dụ, cho chuỗi:
Tôi đã học chơi đàn Ukulele ở Lebanon.
và chuỗi tìm kiếm le
, tôi muốn lấy mảng:
[2, 25, 27, 33]
Cả hai chuỗi sẽ là các biến - tức là, tôi không thể mã hóa các giá trị của chúng.
Tôi nhận ra rằng đây là một nhiệm vụ dễ dàng đối với biểu thức chính quy, nhưng sau một thời gian vật lộn để tìm một cái có thể hoạt động, tôi đã không gặp may.
Tôi đã tìm thấy ví dụ này về cách thực hiện điều này bằng cách sử dụng .indexOf()
, nhưng chắc chắn phải có một cách ngắn gọn hơn để làm điều đó?
le
là một chuỗi biến ở đây? Ngay cả khi sử dụngnew Regexp(str);
các ký tự đặc biệt nguy hiểm đang rình rập, tìm kiếm$2.50
chẳng hạn. Một cái gì đó giống nhưregex = new Regexp(dynamicstring.replace(/([\\.+*?\\[^\\]$(){}=!<>|:])/g, '\\$1'));
IMHO gần gũi hơn. Tôi không chắc liệu js có cơ chế thoát regex tích hợp sẵn hay không.