BuAlan Ayrılmış Metin ayrıştırmak için en iyi yol
/c SomeText\MoreText "Some Text\More Text\Lol" SomeText
gibi bir dizgim var. Bunu belirtmek istiyorum ancak boşluklara ayıramam. Çalıştığım biraz çirkin çözümleyici ile geldim, ama ben kimsenin daha şık bir tasarıma sahip olup olmadığını merak ediyorum.
Bu C# btw içinde.
DÜZENLEME: Çirkin versiyonum çirkinken, O (N) ve aslında bir RegEx kullanmaktan daha hızlı olabilir.
private string[] tokenize(string input)
{
string[] tokens = input.Split(' ');
List<String> output = new List<String>();
for (int i = 0; i < tokens.Length; i++)
{
if (tokens[i].StartsWith("\""))
{
string temp = tokens[i];
int k = 0;
for (k = i + 1; k < tokens.Length; k++)
{
if (tokens[k].EndsWith("\""))
{
temp += " " + tokens[k];
break;
}
else
{
temp += " " + tokens[k];
}
}
output.Add(temp);
i = k + 1;
}
else
{
output.Add(tokens[i]);
}
}
return output.ToArray();
}
bize sen boşluklar üzerinde bölemezsiniz neden dahil başarmaya çalıştığını şeyle ilgili daha fazla bilgi verin. Ardından cevaplarımızı durumunuza göre düzenleyebiliriz. –