[英]How to split a string into two parts using a character separator in c#?
使用单字符分隔符将字符串拆分为两个部分的最佳方法是什么?
字符串应该在分隔符的第一个实例上拆分。 该方法应考虑性能。 它不应该假设分隔符存在于字符串中,字符串具有任何字符等; 应该是通用代码,您可以随时插入任何需要的代码。
(每当我需要它时,我总是花几分钟时间重写这种东西,所以我想我会提出一个问题)
如果您确实只想获得两个结果,请使用带有第二个参数的字符串split方法:
string[] words = myString.Split(new char[]{' '}, 2);
var part1 = myString.SubString(0, myString.IndexOf(''));
var part2 = myString.SubString(myString.IndexOf(''), myString.Lenght);
string[] SplitStringInTwo(string input, char separator)
{
string[] results = new string[2];
if (string.IsNullOrEmpty(input)) return results;
int splitPos = input.IndexOf(separator);
if (splitPos <= 0) return results;
results[0] = input.Substring(0, splitPos);
if (splitPos<input.Length)
results[1] = input.Substring(splitPos + 1);
return results;
}
(每当我需要它时,我总是花几分钟时间重写这种东西,所以我想我会提出一个问题)
如果您经常需要这个,可以将您喜欢的方式转换为扩展方法 。 基于Teoman Soygul的建议:
public static class StringExtensions
{
public static string[] TwoParts(this String str, char splitCharacter)
{
int splitIndex = str.IndexOf(splitCharacter);
if(splitIndex == -1)
throw new ArgumentException("Split character not found.");
return new string[] {
str.SubString(0, splitIndex),
str.SubString(splitIndex, myString.Lenght) };
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.