У меня есть несколько строк в следующем формате "(space)> sometext > anothertext
".
"sometext
" и "anothertext
" могут быть любыми - они могут различаться по длине и содержанию.
Префикс каждой строки всегда равен "(space)>
", в то время как (space)
- это любое заданное число символов пробел до указанной максимальной длины.
Примеры:
Максимальная длина префикса - 10.
1. "> here is same 1 > sample 1"
2. " > here is sample 2 > sample 2 indeed"
3. " > a very long spaced prefix > spaced prefix"
Мне нужно выровнять все префиксы по одинаковой длине пробела.Например, выравнивая все по 10 пробелам символам ...
1. " > here is same 1 > sample 1"
2. " > here is sample 2 > sample 2 indeed"
3. " > a very long spaced prefix > spaced prefix"
Я использую Regex
для достижения этой цели с помощью следующего кода:
int padding = 10;
Regex prefix = new Regex(@"^(\s*)>.*");
Match prefix_match = prefix.Match(line);
if (prefix_match.Success == true)
{
string space_padding = new string(' ', padding - prefix_match.Groups[1].Value.Length);
return prefix.Replace(line, space_padding);
}
return line;
Но я всегда получаю в результате строку длиной 10 пробелов ...