[英]How to take n part of String using Split() method in C#?
I have string str = "Join Smith hate meat"
. 我有字符串str = "Join Smith hate meat"
。
I want to get JoinSmith
from this str
. 我想从这个str
获得JoinSmith
。
I tried code: 我试过代码:
private static string GetFirstWord(string str)
{
return str.Split(' ').Take(2).ToString();
}
This code not working for me. 这段代码对我不起作用。
I tried: return str.Split(' ').FirstOrDefault
it get only first part of string Join
. 我试过: return str.Split(' ').FirstOrDefault
它只得到字符串Join
第一部分。
采用
string result = string.Concat(str.Split(' ').Take(2)); // "JoinSmith"
A Fancy combination: 一个奇特的组合:
var result = string.Join(String.Empty, str.Split(' ').Take(2));
Takes the first two words, joins them into one string. 取前两个单词,将它们连接成一个字符串。
Or: 要么:
var result = string.Concat(str.Split(' ').Take(2));
Something a little different 有点不同的东西
var result = new string(TakeAllUntilSecondSpace(str).ToArray());
Yield the characters you want... sometimes this is a good way if you need a lot of control that standard methods don't provide. 产生你想要的字符...有时这是一个很好的方法,如果你需要很多标准方法不提供的控制。
private IEnumerable<char> TakeAllUntilSecondSpace(string s)
{
var spaceEncountered = false;
foreach (char c in s)
{
if (c == ' ')
{
if (spaceEncountered) yield break;
spaceEncountered = true;
} else yield return c;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.