2012-12-02 15 views
2

我清洗使用谷歌細化的數據集。我有一列以mm/dd/yyyy格式顯示日期。我想創造一個爲mm/dd/yyyy是由YYYY僅更換一個新列。解析出字符串的一部分在谷歌瑞風 - 錯誤信息

我已經試過

value.replace(/.+(\d\d\d\d)\*/, /$1/) 

什麼露面是

Error: replace expects 3 strings, or 1 string, 1 regex, and 1 string

爲什麼這個錯誤來了嗎?感謝您幫助初學者!

回答

1

如果數值只是在普通格式的日期,最簡單的辦法是:

value.split('/')[2] 

如果你需要採摘日期出長串的中間或只是有一個扭曲的慾望混亂與正則表達式:-)那麼你可以使用

value.replace(/([1-9]|0[1-9]|[12][0-9]|3[01])\D([1-9]|0[1-9]|1[012])\D(19[0-9][0-9]|20[0-9][0-9])/, "$3") 

順便說一句,有很多罐裝的正則表達式,你可以只搜索,而不是自己重新創建他們這是我在這裏做了網絡上。我不會在那個複雜/特定的地方靠近。你應該把它調整到您的需求,這取決於你如何嚴格/寬鬆想要你的匹配。

0

我無法重現的問題,而是你正則表達式是不正確,試試這個

System.out.println("01/01/2012".replaceAll("(\\d+/){2}(.+)", "$2")); 

注意與string.replace()不能與正則表達式工作。改用String.replaceAll()或String.replaceFirst()。

+0

谷歌瑞風不recognizeSystem.out.println,當我試圖replaceChars( 「(\\ d + /){2}(+)」, 「2 $」)),正斜槓之間的數字消失,但沒有其他改變了。 – AnnaGo

0

查看您替換的方法過度負荷該類逗號期望無論是3串或1串意味着沒有逗號或兩個逗號分隔參數.replace()方法。

+0

一個代碼示例在這裏很有用 –

+0

你能告訴我正確密碼的話,好嗎?謝謝! – AnnaGo