2016-09-08 6 views
1

, что это лучший способ разделить ужалить «aaa_bx_cd_de.1000.20.3.40» на «aaa_bx_cd_de» и «1000.20.3.40» в # .net приложения CЛучший способ разбить строку «a_b_c_d.1.2.3.4»

mainstring="aaa_bx_cd_de.1000.20.3.40" 
str1="aaa_bx_cd_de" 
str2="1000.20.3.40" 
+0

Что такое шаблон? Являются ли алфавитные части только одиночными буквами, а цифры - только одной цифрой? Потому что в этом случае просто подсчитайте символы и разделите их на это (не требуется регулярное выражение!) – mok

+0

Все, что работает, лучше, чем ничего. – zerkms

+1

Вам только понадобится разбить подобные строки? Если это так, стандартный метод 'Split' учитывает количество подстрок, которое он возвращает. – birryree

ответ

8

Вы можете использовать перегрузку String.Split [1], которая принимает в качестве второго аргумента количество подстрок, которое вы хотите вернуть (по существу, количество разделов плюс 1).

string mainstring = "a_b_c_d.1.2.3.4"; 
string[] parts = string.Split(new [] {'.'}, 2); 
// parts[0] will be "a_b_c_d" 
// parts[1] will be "1.2.3.4" 

[1] https://msdn.microsoft.com/en-us/library/c1bs0eda(v=vs.110).aspx