2011-04-06 134 views
16

我有一个字符串var string = "my__st_ri_ng"。我想用单个空格替换所有下划线,并且我想将它另存为另一个变量。每个下划线应该有空格替换,这意味着多个连续的下划线应该有相应数量的空格。我想让我提到的变量为my<sp><sp>st<sp>ri<sp>ng。我怎样才能做到这一点使用jQuery?替换字符串中的下划线

在此先感谢... :)

blasteralfred

回答

30

你需要的是JavaScript的replace功能。

var str1 = "my__st_ri_ng"; 
var str2 = str1.replace(/_/g, ' '); 

你不需要的jQuery在所有的这个任务......

+0

只替换第一个下划线 – 2011-04-06 07:09:44

+2

是啊,已经是上:)。早上不应该这么喝醉。 – kapa 2011-04-06 07:11:07

+0

是啊你不应该... :) ....很好.. ..谢谢.. – 2011-04-06 07:14:08

8

要替换的_所有出现,使用正则表达式与g(global)标志。

"my__st_ri_ng".replace(/_/g, " "); // "my st ri ng" 
+0

但他想在jQuery中做到这一点! :) +1对这些3 – 2011-04-06 07:11:27

+0

的正确答案你知道我会毫不犹豫地为此写一个jQuery插件和全文档。 – Anurag 2011-04-06 07:12:32

+0

@Anurag:期待这个插件。香草JavaScript是如此无聊! '$(this).stringReplace({search:'my_string',replace:'',replaceAll:true})'更令人兴奋! – 2011-04-06 07:19:25

0

你不需要jQuery的,甚至正则表达式,只是简单的JavaSript:

var newStr = oldStr.replace('_', ' '); 
+0

只会替换第一个。 – kapa 2011-04-14 18:50:32

+1

@bazmegakapa嗯..真的吗?我要检查一下。 – vbence 2011-04-14 19:47:16

+2

一些帮助检查出来:http://jsfiddle.net/bazmegakapa/9R78x/ :) – kapa 2014-01-31 10:44:53

1

尝试......

var oldStr = 'I_told_you'; 

var newStr = oldStr.split('_').join(' ');