Ваша операция разбиения отлично работает для меня:
string temp_constraint = "FK_ss_foo_ss_fee";
string split_string = "FK_ss_foo_";
string[] words = Regex.Split(temp_constraint, split_string);
foreach (string word in words)
{
Console.WriteLine(">{0}<", word);
}
Вывод:
><
>ss_fee<
Я думаю, что проблема в том, что ваши переменные не установлены так, как вы думаете.Вам нужно будет выполнить отладку, чтобы найти ошибку в другом месте вашей программы.
Я бы также не использовал Split для этого (как Regex
, так и String.Split
).Вы на самом деле не разделяете ввод - вы удаляете строку с самого начала.Сплит не всегда может делать то, что вы хотите.Представьте, что у вас есть внешний ключ, подобный следующему:
FK_ss_foo_ss_fee_FK_ss_foo_ss_bee
Вы хотите получить ss_fee_FK_ss_foo_ss_bee
, но разделение даст вам ss_fee_
и ss_bee
.Это надуманный пример, но он демонстрирует, что то, что вы делаете, не разделено.