2016-02-05 54 views
0

我想刪除dd /或/ dd /或/ dd,但如果它是/ dd /我想用/替換它以使其看起來像MM/YYYY。有條件刪除字符串的正則表達式

dd/MM/YYYY 
MM/dd/YYYY 
MM/YYYY/dd 


[^\p{Alpha}]*d+[^\p{Alpha}]* 

以上是我目前的正則表達式。

我想實現的是兩種, MM/YYYY YYYY/MM

原因,現在,如果我更換/ DD /,它導致

MMYYYY 或 YYYYMM

+0

你的問題有點含糊。你想刪除/ dd /或替換它? – javad

回答

0

可以使用正則表達式實現這一目標。

雖然通過d您不確定您的意思是數字或只是d。 你在那裏的正則表達式更一般,匹配比需要的多得多。

+0

它會忽略/dd/...這是一個更大的查詢。 – Hades

+0

它不會忽略'/ dd /'。它會刪除(替換爲空)第一個'dd /',並保留第一個斜槓。當然這隻適用於'd'和'M'和'Y'你不代表任何數字。如果是這樣,你需要一個更復雜的表達。 – javad

1

在可理解性方面最好的一個是拼出來的三種選擇方案:

/dd(?=/)|^dd/|/dd$ 

即:

  • /dd(?=/)字符串「/ DD」的文字的任何地方,然後(正向)a「/」
  • ^dd/字符串「dd /」在文本的開頭
  • /dd$字符串「/ DD」的第一種選擇是寫與「/ DD」,使這個斜線不被消耗後,結束斜線先行離開了字符串中的文本

的末尾,以便「MM/dd/YYYY」在中間保留一個斜線。

相關問題