javascript的replace方法怎么只能替换一个字符阿??

时间:2022-03-10 13:04:26
str="kevin kevin kevin kevin";
str=str.replace('k','o');
怎么运行结果是oevin kevin kevin kevin
而不是oevin oevin oevin oevin
为什么 ?有没有什么方法可以替换全部的字符

5 个解决方案

#1


你加入一个全局替换标志呀:
str=str.replace(/\k/g,'o');

#2


哪里有介绍 replace如何用的文档阿

#3


str.replace('k','o');
这种方法运行一次只能代替一次;
要想全部代替,则必须把要代替的字符(串)写成正则式,具体如上:hrong(黄蓉)

#4


UP

#5


在JS中要使用正则表达式来实现替换,即:
 字符串对象.replace(正则表达式对象,替换字符串对象);
在正则表达式中,i为忽略大小写,g为进行全局替换,即一个正则表达式语法如下:

描述
   保存正则表达式模式。
语法 1
   var regularexpression = /pattern/[switch]
语法 2
   var regularexpression = new RegExp("pattern",["switch"]) 

正则表达式对象语法有以下部分: 
部分                         描述 
pattern    必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。
           如果用语法 2,用引号将模式引起来。 
switch     可选项。如果使用语法 2 要用引号将 switch 引起来。可选的开关选项有:

i         (忽略大小写)
g         (全文查找出现的所有 pattern)
gi        (全文查找、忽略大小写)

说明
   正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在 RegExp 对象中。
   当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法 2,比如由用户输入得到的字符串。

   在使用前 pattern 参数被编译为内部格式。对语法 1 来说,pattern 在该脚本被装载时被编译。对语法 2 来说,pattern 在使用前,或调用 compile 方法时被编译。 

#1


你加入一个全局替换标志呀:
str=str.replace(/\k/g,'o');

#2


哪里有介绍 replace如何用的文档阿

#3


str.replace('k','o');
这种方法运行一次只能代替一次;
要想全部代替,则必须把要代替的字符(串)写成正则式,具体如上:hrong(黄蓉)

#4


UP

#5


在JS中要使用正则表达式来实现替换,即:
 字符串对象.replace(正则表达式对象,替换字符串对象);
在正则表达式中,i为忽略大小写,g为进行全局替换,即一个正则表达式语法如下:

描述
   保存正则表达式模式。
语法 1
   var regularexpression = /pattern/[switch]
语法 2
   var regularexpression = new RegExp("pattern",["switch"]) 

正则表达式对象语法有以下部分: 
部分                         描述 
pattern    必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。
           如果用语法 2,用引号将模式引起来。 
switch     可选项。如果使用语法 2 要用引号将 switch 引起来。可选的开关选项有:

i         (忽略大小写)
g         (全文查找出现的所有 pattern)
gi        (全文查找、忽略大小写)

说明
   正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在 RegExp 对象中。
   当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法 2,比如由用户输入得到的字符串。

   在使用前 pattern 参数被编译为内部格式。对语法 1 来说,pattern 在该脚本被装载时被编译。对语法 2 来说,pattern 在使用前,或调用 compile 方法时被编译。