我有一個字符串,我需要運行替換。Javascript替換正則表達式通配符
string = replace('/blogs/1/2/all-blogs/','');
值1,2和所有博客可以更改。是否有可能使它們成爲通配符?
由於提前,
問候
我有一個字符串,我需要運行替換。Javascript替換正則表達式通配符
string = replace('/blogs/1/2/all-blogs/','');
值1,2和所有博客可以更改。是否有可能使它們成爲通配符?
由於提前,
問候
您可以使用.*
作爲一個佔位符「零個或多個這裏的任何字符」或.+
爲「一個或多個任意字符在這裏」。我不是100%肯定,你想要做什麼,但例如:
var str = "/blogs/1/2/all-blogs/";
str = str.replace(/\/blogs\/.+\/.+\/.+\//, '');
alert(str); // Alerts "", the string is now blank
但是,如果有更多的之前或之後它:
str = "foo/blogs/1/2/all-blogs/bar";
str = str.replace(/\/blogs\/.+\/.+\/.+\//, '');
alert(str); // Alerts "foobar"
注意在以上兩者中,只有第一個比賽將被替換。如果你想更換所有比賽中,添加一個g
這樣的:
str = str.replace(/\/blogs\/.+\/.+\/.+\//g, '');
// ^-- here
您可以在JavaScript的regular expressions on MDC閱讀起來。
js> 'www.google.de/blogs/1/2/all-blogs'.replace(/\/blogs\/[^\/]+\/[^\/]+\/[^\/]+\/?/, '');
www.google.de
JS是否需要'/'來逃脫? – Keng 2010-11-19 13:57:21
由於'/'是正則表達式的分隔符(不要將它們放在引號中):是 – ThiefMaster 2010-11-19 13:59:13
什麼只是在分裂的斜槓字符串,只是更換價值?
var myURL = '/blogs/1/2/all-blogs/', fragments, newURL;
fragments = myURL.split('/');
fragments[1] = 3;
fragments[2] = 8;
fragments[3] = 'some-specific-blog';
newURL = fragments.join('/');
應該返回:?
'/blogs/3/8/some-specific-blog'
可以嘗試使用選擇的懶惰變種,即'*'和'+'在情況下,有可能是提到以下附加斜線?串。 – 2010-11-19 14:00:41