15 NİSAN 2015, ÇARŞAMBA
Bir şekilde daha iyi dizeleri ayrıştırmak için var mı?
Eğer bir şekilde inşa eğer orada merak ediyorum .NET bir ip parçaları ayrıştırmak için.
Örneğin şu dize var:
"bsarbirthd0692"
çapraz başvurulan aşağıdaki bölümden veri sonra yapılmış:
Indexes Purpose
0-3 (name)
4-9 (description)
10-13 (date mm-yy)
Bir şey gibi yerli umut ediyorum:
string name, desc, date;
string.ParseFormat("{0:4}{1:5}{2:4}", "bsarbirthd0692", out name, out desc, out date);
Yerel bir yolu bunu yapmak için vardır .NET ya da popüler bir kütüphane mi?
CEVAP
15 NİSAN 2015, ÇARŞAMBA
Bir biçimde bilinir ve değişmemeli beri Dize
string data = "bsarbirthd0692";
string name, desc, date;
name = data.Substring(0, 4);
desc = data.Substring(4, 6);
date = data.SubString(10);
EDİT
Ayrıca ne istiyorsun oluşturabilirsiniz uzatma yöntemleri var. Bu tabii ki bir önceki önerim daha karmaşık
public static class StringExtension
{
/// <summary>
/// Returns a string array of the original string broken apart by the parameters
/// </summary>
/// <param name="str">The original string</param>
/// <param name="obj">Integer array of how long each broken piece will be</param>
/// <returns>A string array of the original string broken apart</returns>
public static string[] ParseFormat(this string str, params int[] obj)
{
int startIndex = 0;
string[] pieces = new string[obj.Length];
for (int i = 0; i < obj.Length; i )
{
if (startIndex obj[i] < str.Length)
{
pieces[i] = str.Substring(startIndex, obj[i]);
startIndex = obj[i];
}
else if (startIndex obj[i] >= str.Length && startIndex < str.Length)
{
// Parse the remaining characters of the string
pieces[i] = str.Substring(startIndex);
startIndex = str.Length startIndex;
}
// Remaining indexes, in pieces if they're are any, will be null
}
return pieces;
}
}
Kullanım 1:
string d = "bsarbirthd0692";
string[] pieces = d.ParseFormat(4,6,4);
Sonuç:
Kullanım 2:
string d = "bsarbirthd0692";
string[] pieces = d.ParseFormat(4,6,4,1,2,3);
Sonuçlar:
Bunu Paylaş:
Nasıl verimli bir şekilde Gidip dizele...
En iyi şekilde semboller için dizeleri...
Java C den ayrıştırmak için daha kolay...
Daha iyi bir şekilde jquery ile nesne ...
Sözlük< için bir öğe ekleyerek daha ...