方法名:str.replace(regexp|substr, newsubstr|function)
作用:返回乙個由替換值替換一些或所有匹配的模式後的新字串
引數詳解:
第乙個引數可以為正則物件或者字串字面量
第二個引數可以為乙個新字串也可以為乙個函式,該函式返回替換項
1、第二個引數為字串的情況:a、常見情況:
var str='abcdefg';
var reg=/cd/g;
str=str.replace(reg,'');
console.log(str); //abefg
b、使用變數名替換特定部位:(注意要替換特定部位的話,在正則物件中要是用括號包裹)
var str='abcdefg';
var reg=/(c)d/g;
str=str.replace(reg,'$$d');//這裡括號包裹的c被$替換了,然後再替換整個匹配到的cde
console.log(str);//ab$defg
var str='abcdefg';
var reg=/(c)d(e)/g;
str=str.replace(reg,'$2d$1'); //這裡把匹配的第乙個內容合第二個內容替換位置($1匹配第乙個位置,$2匹配第二個位置),然後再替換整個匹配到的cde
console.log(str); //abedcfg
var str='abcdefg';
var reg=/(c)d(e)/g;
str=str.replace(reg,'$&d$1$2');//這裡在匹配到的d前面插入整個匹配到的字元cde,在d後面插入匹配到的第乙個和第二個括號中的內容,然後再替換整個匹配到的cde
console.log(str);//abcdedcefg
var str='abcdefg';
var reg=/(c)d(e)/g;
str=str.replace(reg,'d$`');//這裡是把匹配到的字串cde左邊內容ab插入到d後面,然後再替換整個匹配到的cde
console.log(str);//abdabfg
var str='abcdefg';
var reg=/(c)d(e)/g;
str=str.replace(reg,"d$'");//這裡是把匹配到的字串cde右邊內容fg插入到d後面,然後再替換整個匹配到的cde(注意這裡的單引號要用雙引號包裹)
console.log(str);//abdfgfg
1、第二個引數為函式的情況:替換函式引數詳解變數名
代表的值
match
匹配的子串。(對應於上述的$&。)
p1,p2, ...
類似於上述$1,$2……
offset
匹配到的子字串在原字串中的偏移量。(比如,如果原字串是「abcd」,匹配到的子字串是「bc」,那麼這個引數將是1)
string
被匹配的原字串。
var str='xiaoming';
var reg=/(a)o(m)/g;
function replacer(match, p1, p2, offset, string)
var newstring = str.replace(reg, replacer);
console.log(newstring); //xia - ming
python之字串replace的方法
replace 方法把字串中的old 舊字串 替換成new 新字串 如果有指定第三個引數max,則替換的不超過max次 str.replace old,new max 引數 備註old 將要被替換的子字串或字串行 new將要替換成的新的字串或字串行 max可選引數,替換不超過max次 返回字串中的 ...
字串無法replace
臥槽。老子發現了這個坑。很簡單的字串我覺得replace很容易實現,臥槽,巨坑啊。如下 在電腦上我實現了下 v2a v232.replace v2a v223 v223 v232.我以為可以和split連續使用,結果發現不行,必須用兩步走。ss videos laugh s25052444 102 ...
字串replace的重寫
package replace public class replacedemo 替換字元功能 public string replace string a,char oldchar,char newchar system.out.println i 將i角標之前的字元放進新的字元陣列中 if ic...