簡體   English   中英

正則表達式使用空字符串刪除或替換斜杠前后的日期或數字

[英]Regex to remove or replace dates or numbers before and after slashes with empty string

我有一堆字符串,我正在使用正則Regex來根據需要替換不需要的字符。 但是,刪除日期時遇到問題,例如:2014年1月1日1/29或1-29。

我該如何刪除這些。 我正在嘗試類似的方法,但是還很遙遠:我可以簡單地輸入不起作用的單個字符。 從此處獲取: 刪除無效字符

Regex.Replace(strIn, @"[^\w\.@-]", "");

輸入樣例將完全像這樣: 今天01/29/2014我將去聽音樂會。

輸出:今天我將去聽音樂會。

這應該工作。 為了生成它,我使用了http://txt2re.com/- >非常方便的工具。

string txt="Today 01/29/2014 I will go to the concert";

string re1=".*?";   // Non-greedy match on filler
string re2="((?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])"; // MMDDYYYY 1

var newString = Regex.Replace(txt, re1+re2, "");

試試這個正則表達式

(?<=[0-9]{2}[\/\-][0-9]{2}[\/\-][0-9]{4}).*$|.*(?=[0-9]{2}[\/\-][0-9]{2}[\/\-][0-9]{4})

正則演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM