2016-12-14 146 views
3

我正在處理清理語義.n3和rdf文件的註釋和壓縮,並用C#中的正則表達式打印這些文件。如何正確刪除語義.n3文件中的#條評論而不影響#s的其餘部分?

但是#是用於描述資源的語義文件中非常常見的字符。

示例代碼:

#Processed by Id: cwm.py,v 1.197 2007/12/13 15:38:39 syosi Exp 
     # using base http://www.prodigi.eu/instances 

# Notation3 generation by 
#  notation3.py,v 1.200 2007/12/11 21:18:08 syosi Exp 

# Base was: http://www.prodigi.eu/instances 
    @prefix : </ac-schema#> . 
    @prefix ins: </instances#> . 
    @prefix olanet: <http://www.ibermaticaindustria.com/soluciones/planta-mes-olanet#> . 
    @prefix plm: <http://hms.ifw.uni-hannover.de/#> . 
    @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 

    ins:everyone  a <http://xmlns.com/foaf/0.1/Group>; 
     :canSee ins:public; 
     rdfs:member <http://127.0.0.1/OslcOlanetProvider/api/producer/01>, 

[...] 
+1

你是什麼意思「而不會影響斜槓的其餘部分」? –

+1

這是一個斜槓'/',你的意思是'#'散列嗎? –

+1

是的,哈希#。在資源中,對於錯誤 –

回答

2

你可以試試這個:

^\s*#.*$ 

和空

替換假設,註釋會以#開始,也可能僅是前面是 \ r或\ n或\ t或\ f \ v或空格

Explanation

將每個文件讀取爲字符串並調用以下方法並再次寫入文件。

示例代碼:

using System; 
using System.Text.RegularExpressions; 
.......... 
........... 
    public String removeHash(String input) 
    { 
     string pattern = @"^\s*#.*$"; 
     string substitution = @""; 

     RegexOptions options = RegexOptions.Multiline; 

     Regex regex = new Regex(pattern, options); 
     string result = regex.Replace(input, substitution); 
     return result; 
    } 
+0

感謝抱歉,那工作完美! –

相關問題