我想在c#中使用正則表達式去除部分文本。文字看起來像:使用c#中的正則表達式去除一些文本#
BEGIN:VNOTE
VERSION:1.1
BODY;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Penguins are among the most popular of all birds. They only live in and around the South Pole and the continent of Antarctica.No wild penguins live at the North Pole. There are many different kinds of penguins. The largest penguin is called the Emperor Penguin, and the smallest kind of penguin is the Little Blue Penguin. There are 17 different kinds of penguins in all, and none of them can fly
當我想從文本部分
BEGIN:VNOTE
VERSION:1.1
BODY;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:
BEGIN
和PRINTABLE:
之間的文字刪除可以是不同的結果。 所以我寫的代碼(最新版本):
var start = "BEGIN";
var end = "PRINTABLE:";
var regEx = string.Format("{0}(.*|\n){1}", start, end);
var result = Regex.Replace(sourceText, regEx, string.Empty);
但它不工作。我嘗試了許多不同的正則表達式,結果相同。任何想法如何我的正則表達式應該看起來?
謝謝你的任何建議。
也許您需要將您的邏輯逆轉並匹配您想要檢索的內容,而不是刪除不需要的內容。這是一個可能的方法嗎? – Filkolev
@Filkolev:這裏的情況要求匹配**不需要的**部分,並用'empty'字符串替換它。這會更簡單。 – 2016-03-06 11:44:57
爲作業使用正確的工具。編碼不會被引用 - 可打印,您不應該忽略字符集。你最好使用一個合適的VCard/VCalendar/VNote解析器庫,它可以正確讀取這種格式。 – CodeCaster