У меня есть строка, которая была бы поставлена моему приложению в формате ниже:
ece4241692a1c7434da51fc1399ea2fa155d4fc983084ea59d1455afc79fafed
То, что я должен сделать, является форматом это для моей базы данных, таким образом, это читает следующим образом:
<ece42416 92a1c743 4da51fc1 399ea2fa 155d4fc9 83084ea5 9d1455af c79fafed>
Я принимаю самый легкий способ сделать, это использовало бы регулярные выражения, но я никогда не использовал их прежде, и это - первый раз, когда я когда-либо должен был, и честно говоря, у меня просто нет времени для чтения на них в данный момент, поэтому если бы кто-либо мог бы помочь мне с этим, я был бы вечно благодарен.
Как насчет:
string input ="ece4241692a1c7434da51fc1399ea2fa155d4fc983084ea59d1455afc79fafed";
string target = "<" + Regex.Replace(input, "(.{8})", "$1 ").Trim() + ">";
или
string another = "<" + String.Join(" ", Regex.Split(input, "(.{8})")) + ">";
Возможно, вам может быть лучше, чтобы иметь небольшой статический метод анализа строки для обработки его. Регулярное выражение может быть сделано, но если вы не будете делать кучу в пакете, вы не будете сохранять достаточно в системных ресурсах, чтобы она стоила поддержания регулярного выражения (если вы еще не знакомы с ними, я имею в виду ). Что-то вроде:
private string parseIt(string str)
{
if(str.Length % 8 != 0) throw new Exception("Bad string length");
StringBuilder retVal = new StringBuilder(str)
for (int i = str.Length - 1; i >=0; i=i-8)
{
retVal.Insert(i, " ");
}
return "<" + retVal.ToString() + ">";
}