2013-11-20 6 views
-2

Как получить подстроку, разделенную ., игнорируя первый разделитель?C# подстрока с разделителями

Например 1.2 подстроки из строки 1.2.3.4

или 123.13 форме 123.13.145.1234?

+0

Как вы говорите разницу между. расколоть и. для десятичной точки? –

+1

http://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx .... как отправная точка. – Arran

+0

Почему вы даете downvotes и страшно, чтобы объяснить это TS? – MikroDel

ответ

-3

Вы можете использовать Substring() функцию, чтобы получить часть String

Попробуйте:

 String str = "1.2.3.4"; 
     Console.WriteLine(str.Substring(0, str.IndexOf(".",str.IndexOf(".")+1))); 
     str = "123.13.145.1234"; 
     Console.WriteLine(str.Substring(0, str.IndexOf(".", str.IndexOf(".") + 1))); 

Выходные:

1.2 
123.13 
+0

Зачем снова спускаться? – MikroDel

+2

Думаю, потому что вы не нашли второго "." index и установить его вручную. – VikciaR

+0

ОК согласен. Некоторые объяснения помогают – MikroDel

3

Итак, вы хотите только первые две части? Используйте String.Split('.'), Take(2) и String.Join к Concat как:

string twoParts = string.Join(".", "123.13.145.1234".Split('.').Take(2)); 

Edit: Ваш входной строки, кажется, номер версии, так что если вам нужно, это большая и малая часть разобрать его Version и использовать его соответствующие свойства:

Version v = Version.Parse("123.13.145.1234"); 
string major = v.Major; // 123 
string minor = v.Minor; // 13 

или, если вы действительно хотите его в виде строки (спасибо за ваш комментарий @Damith):

string majorMinor = v.ToString(2); // 123.13 
Смежные вопросы