0

我需要在一个字符串中找到带有开始和结束空格的单词。我在搜索空白时发现问题。但是,我可以实现以下目标。以 开头和结尾@@。对空格的任何帮助都会很棒。

string input = "@@12@@ @@13@@";             
foreach (Match match in Regex.Matches(input, @"@@\b\S+?\b@@"))                
{
   messagebox.show(match.Groups[1].Value);
}
4

4 回答 4

1

From MSDN doc:

// Define a regular expression for repeated words.
    Regex rx = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
      RegexOptions.Compiled | RegexOptions.IgnoreCase);
于 2013-10-07T07:32:34.103 回答
1
\s+(?=</)

是你所追求的那个表达。它表示一个或多个空格字符后跟

于 2013-10-07T07:49:10.547 回答
0

我无法完全理解您的想法,但我希望这段代码可以帮助您:

string[] ha = input.Split(new[] { '@' }, StringSplitOptions.RemoveEmptyEntries);

于 2013-10-07T08:03:35.963 回答
0

在我看来,最好使用string.Split()而不是Regex

var wordsArray = s.Split(new []{' '},StringSplitOptions.RemoveEmptyEntries);

如果您可以使用标准字符串方法更轻松地获得相同的结果,则最好避免使用正则表达式。

于 2013-10-07T07:47:56.843 回答