Làm thế nào để thay thế mỗi lần xuất hiện của một mẫu chuỗi trong một chuỗi bằng một chuỗi khác?Làm thế nào làm cho lodash _.replace xảy ra tất cả trong một chuỗi?
var text = "azertyazerty";
_.replace(text,"az","qu")
trở quertyazerty
Làm thế nào để thay thế mỗi lần xuất hiện của một mẫu chuỗi trong một chuỗi bằng một chuỗi khác?Làm thế nào làm cho lodash _.replace xảy ra tất cả trong một chuỗi?
var text = "azertyazerty";
_.replace(text,"az","qu")
trở quertyazerty
bạn phải sử dụng các RegExp với tùy chọn toàn cầu được cung cấp bởi lodash.
vì vậy chỉ cần sử dụng
var text = "azertyazerty";
_.replace(text,new RegExp("az","g"),"qu")
trở quertyquerty
Bạn cũng có thể làm
var text = "azertyazerty";
var result = _.replace(text, /az/g, "qu");
Tôi yêu lodash, nhưng điều này có lẽ là một trong số ít những điều đó là dễ dàng hơn mà không có nó .
var str = str.split(searchStr).join(replaceStr)
Là một chức năng tiện ích với một số kiểm tra lỗi:
var replaceAll = function (str, search, replacement) {
var newStr = ''
if (_.isString(str)) { // maybe add a lodash test? Will not handle numbers now.
newStr = str.split(search).join(replacement)
}
return newStr
}
Để hoàn chỉnh, nếu bạn thực sự thực sự muốn sử dụng lodash, sau đó để thực sự thay thế văn bản, chuyển nhượng kết quả vào biến.
var text = 'find me find me find me'
text = _.replace(text,new RegExp('find','g'),'replace')
Tài liệu tham khảo: How to replace all occurrences of a string in JavaScript?