Есть ли простой способ разделить эту строку
"TopLeft" - "Вверх" и "Влево"
Ответ 1
Если вы хотите, чтобы он был динамическим, то есть каждый раз, когда вы находите письмо в верхнем регистре, разделите его на части, я не считаю, что это встроено, но может быть неправильным; достаточно просто написать метод расширения.
string output = "";
foreach (char letter in str)
{
if (Char.IsUpper(letter) && output.Length > 0)
output += " " + letter;
else
output += letter;
}
Ответ 2
string s = "TopLeft";
List<int> splits = new List<int>();
for(int i=0; i<s.Length;i++)
if(char.IsUpper(s[i]))
splits.Add(i);
int splitstart = 0;
foreach (int split in splits)
{
s.Substring(splitstart, split);
splitstart = split;
}