您在另一个字符串中查找字符串的最快捷,最有效的方法是什么。
例如我有这个文字;
“嘿@ronald和@tom我们这个周末去哪儿了”
但是我想找到以“@”开头的字符串。
由于
答案 0 :(得分:3)
您可以使用正则表达式。
string test = "Hey @ronald and @tom where are we going this weekend";
Regex regex = new Regex(@"@[\S]+");
MatchCollection matches = regex.Matches(test);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
那将输出:
@ronald
@tom
答案 1 :(得分:1)
您需要使用正则表达式:
string data = "Hey @ronald and @tom where are we going this weekend";
var result = Regex.Matches(data, @"@\w+");
foreach (var item in result)
{
Console.WriteLine(item);
}
答案 2 :(得分:0)
试试这个:
string s = "Hey @ronald and @tom where are we going this weekend";
var list = s.Split(' ').Where(c => c.StartsWith("@"));
答案 3 :(得分:0)
如果您追求速度:
string source = "Hey @ronald and @tom where are we going this weekend";
int count = 0;
foreach (char c in source)
if (c == '@') count++;
如果你想要一个班轮:
string source = "Hey @ronald and @tom where are we going this weekend";
var count = source.Count(c => c == '@');
点击此处How would you count occurrences of a string within a string?
答案 4 :(得分:-1)
String str = "hallo world"
int pos = str.IndexOf("wo",0)