2016-02-11 128 views
-1

我試圖能夠使用replace(searchvalue, newvalue);和一個用戶輸入,它將成爲搜索詞。替換單詞在搜索詞之前

一個例子是replace(input,"example text");

但我想要的是能夠有搜索詞,但不是替代搜索詞,取代在它前面的空間。

Ex。是句子:"Hi, I am using js to create this!"

和用戶輸入"js"replace(input, "html and ");

但不是更換"js",替換在前面的空間。所以輸出一句話是:

"Hi, I am using html and js to create this!"

會不會有反正這樣做與更換?

+0

使用正則表達式。 –

+0

@MattBurland我可以使用什麼?我只知道一些,但沒有人會做我需要的東西。 – Hawkeye

+1

查看正則表達式的一些教程,其中有很多。你可以用類似''的東西開始「嗨,我用js來創建這個!」。replace(/(js)/,「html and $ 1」)' –

回答

2

您可以使用函數來處理string.replace中的替換。

var newString = 'Hi, I am using js to create this!'.replace('js', function(match) { 
    return 'html and ' + match; 
}); 
console.log(newString); // ... using html and js ... 

在上面的例子我在前面加上「HTML和」至可變匹配(其具有的「JS」的值)。使用正則表達式而不是字符串來查找匹配時有很大的靈活性。

MDN