我得到這個值從DatePicker的的Javascript空間
var datepickr = 'Jun-29-2011';
我想替換下劃線代替hypens。
我試過這種方法,但它不工作
var b = datepickr.replace("-",' ');
我得到這個值從DatePicker的的Javascript空間
var datepickr = 'Jun-29-2011';
我想替換下劃線代替hypens。
我試過這種方法,但它不工作
var b = datepickr.replace("-",' ');
.replace
應該採取一個正則表達式:
var b = datepickr.replace(/-/g,' ');
我會離開它作爲一個練習讀者研究正則表達式完整。
(這裏最重要的一點,雖然是標誌/g
— 全局搜索)
嘗試:
var b = datepickr.toString().replace("-",' ');
我懷疑你試圖取代Date對象中字符。
'datepickr'已經是一個字符串了。該定義甚至在問題中。 – 2011-06-04 01:33:20
當用字符串(或不帶/ g修飾符的正則表達式)提供時,'replace'只替換它找到的** first **實例。 – brymck 2011-06-04 01:35:05
他說他從Datepicker那裏獲得了這個價值,它也可能是一個約會。 – 2011-06-04 01:35:57
replace
作品正則表達式,像這樣:
> "Hello-World-Hi".replace(/-/g, " ")
Hello World Hi
好吧,現在嘗試使用「Hello-Wor-ld」:P – 2011-06-04 01:33:33
非常感謝 – Kiran 2011-06-04 01:35:36
var b = 'Jun-29-2011'.replace(/-/g, ' ');
或者:
var b = 'Jun-29-2011'.split('-').join(' ');
試試這個:
var datepickr = 'Jun-29-2011';
var b = datepickr.replace(/-/g, ' ');
的/g
導致它來代替每個-
,不只是第一個。
僅供參考:
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
可以匹配所有a,z和破折號。在這種情況下,它是毫不含糊的,但值得注意。
編輯
只要你知道,你可以做一個行沒有正則表達式,它只是赫然不可讀:
while (str !== (str = str.replace("-", " "))) { }
什麼是「不工作」是什麼意思?另外,'-'是連字符,而不是下劃線。看看維基百科的許多關於標點符號的文章。 – 2011-06-04 01:30:46