替換$(密鑰)在文本文件中我想要做這樣的事情,我有一個鍵和值的字典,和文本文件是這樣的:正則表達式與值從字典
Hello my name is $(Name) and my favorite movie is $(Movie).
我想要讀取文件並根據字典中的值替換$(...)的出現位置,因此在這種情況下,字典將具有名稱和電影的關鍵字。
我該怎麼做呢?如果我通過每個字解析,這將是正則表達式匹配$(AnyWord),或將是更好的做這樣的事情:
foreach(var word in file)
{
if (word.length > 3)
{
if (word.substring(0,2)=="$(" && word.substring(word.length-1)==")")
Lookup word in dictionary
}
}
感謝
看起來不錯,小錯誤:'$'之前的單詞邊界和' )''不起作用,因爲'$'和')'是非單詞字符,所以你應該把它改爲'\ B'而不是一個單詞邊界,所以當它在左邊/右邊是非單詞字符時它會匹配。並且右括號需要轉義==>'@「\ B \ $ \([^)] + \)\ B」'應該是正確的正則表達式。 – stema 2012-03-30 08:40:08
感謝修復,愚蠢的錯誤與未轉義的右括號。沒有意識到單詞邊界不匹配,所以感謝。儘管如此,如果他們並不總是打算與其他字符串分離,最好完全脫離邊界。 ''\\ $ \([^)] + \)「'應該沒有問題,謝謝stema – 2012-03-30 08:42:26
我該如何編輯它,以便它匹配Hi $(name)Hi,Hi $(name)Hi,和 嗨($ name)嗨? – Matt 2012-03-30 18:20:42