2011-06-15 74 views
3

我在文檔中有這樣的文字:「50%」;當我運行這個函數時,它只返回「50」,然後返回「%」。我不知道它爲什麼會分裂50%...你能告訴我如何避免這種行爲,以獲得完整的單詞「50%」,而不是「50」和「%」?如何避免拆分?

int astart = 0; 
int aend = Doc.Content.End; 

//docwords.Words = '50%' 
Range docwords = Doc.Range(ref astart, ref aend); 

foreach (Range word in docwords.Words) 
{ 
    // here first return "50" and after return "%" 
    String wordText = word.Text; 
} 
+1

缺少上下文,解釋很差。你應該給多一些,並解釋這個問題比較好。而且ignorechars從未使用過。 – 2011-06-15 23:15:52

+0

你從來不會使用'ignorechars' .. – 2011-06-15 23:17:08

+0

啓動Word,輸入「50%」,使用Ctrl + Shift +向右箭頭選擇一個單詞,Yup,兩個單詞 – 2011-06-15 23:30:32

回答

1

我假設你正在使用Office10和Word API。基於這@理查德是正確的。單詞被標點符號,空格或在行首或末尾處打破。

如果您想避免拆分,最好使用RegEx和Matches集合來選擇您的單詞。像Regex.Matches(Document.Text, @"[A-Za-z0-9]+")可能會有所幫助。 (並堅持要標點符號到方括號。

+0

他如何用RegEx表達式來編寫這段代碼,而不是迭代docwords.Words? – Jason 2011-06-16 01:54:08