我从DatePicker
获取此值var datepickr = 'Jun-29-2011';
我想用空格替换下划线( - )。
我试过这种方式,但它无法正常工作
var b = datepickr.replace("-",' ');
答案 0 :(得分:3)
仅供参考:
var datepickr = 'Jun-29-2011';
datepickr.replace("-", " "); // returns "Jun 29-2011"
datepickr.replace(/-/, " "); // returns "Jun 29-2011"
datepickr.replace(/-/g, " "); // returns "Jun 29 2011" (yay!)
不同之处在于全局修饰符/g
,它会导致替换搜索所有实例。另请注意,-
必须转义为\-
,当它也可用于表示范围时。例如,/[a-z]/g
将匹配所有小写字母,而/[a\-z]/g
将匹配所有的's,z'和破折号。在这种情况下,它是明确的,但值得注意。
修改强>
您知道吗,您可以在一行中使用正则表达式执行此操作,它只是令人印象深刻的难以理解:
while (str !== (str = str.replace("-", " "))) { }
答案 1 :(得分:2)
.replace
应该采用正则表达式:
var b = datepickr.replace(/-/g,' ');
我会把它作为练习留给读者来充分研究正则表达式。
(这里重点是标志/g
- 全球搜索)
答案 2 :(得分:1)
试试这个:
var datepickr = 'Jun-29-2011';
var b = datepickr.replace( /-/g, ' ' );
/g
会导致它替换每个-
,而不仅仅是第一个。{/ p>
答案 3 :(得分:0)
replace
适用于正则表达式,如下所示:
> "Hello-World-Hi".replace(/-/g, " ")
Hello World Hi
答案 4 :(得分:0)
var b = 'Jun-29-2011'.replace(/-/g, ' ');
或者:
var b = 'Jun-29-2011'.split('-').join(' ');
答案 5 :(得分:-2)
尝试:
var b = datepickr.toString().replace("-",' ');
我怀疑您正在尝试替换Date对象中的字符。