我有以下代碼:顯示下組字
int numberOfWords = 50;
string regexMatch = string.Format(@"^(\w+\b.*?){{" + numberOfWords + "}}");
string firstWords = Regex.Match(result, regexMatch).Value;
這個代碼顯示在字符串中的第50個字。現在我想顯示接下來的50個單詞(第51個單詞到第100個單詞)。我該怎麼做?
我有以下代碼:顯示下組字
int numberOfWords = 50;
string regexMatch = string.Format(@"^(\w+\b.*?){{" + numberOfWords + "}}");
string firstWords = Regex.Match(result, regexMatch).Value;
這個代碼顯示在字符串中的第50個字。現在我想顯示接下來的50個單詞(第51個單詞到第100個單詞)。我該怎麼做?
您可以使用相同的正則表達式,但在第一個5o字之後開始。由於你在第一個單詞中有前50個單詞,因此我們必須在這五十個單詞之後開始。因此,我們將在第一個單詞中包含五十個單詞之後的結果的子串。 firstWords.Length將成爲第二個5o字的正則表達式的新起點。
string secondWords = Regex.Match(result.Substring(firstWords.Length).Trim(), regexMatch).Value;
如果你想匹配多個string
S,
這樣的代碼:
List<string> Words = new List<string>();
for(int i = 0; (result.Length - (i * numberOfWords)) < numberOfWords; i++)
{
Words.Add(Regex.Match(result.Substring(i * numberOfWords).Trim(), regexMatch).Value)
}
你得到的當前字符串中的50個單詞列表!但是,如果在string
的末尾少於50個單詞,它將不會將這些單詞添加到Words
列表中。
你下一個50是什麼意思?你可以像「計數器」一樣創建新的變量,並將其放入一個循環中,並乘以numberOfWords *計數器(第一次計數器將爲1,下一次計數器爲2,依此類推......){+ numberOfWords * couner +「} ... –
如果問題解決了,接受一個答案 – Writwick