2016-07-22 5 views
1

У меня есть строка, где-то в середине (разные длины слева и справа) У меня есть эта последовательность символов (есть пространство слева и справа)разделительная строка в слове - держите левую сторону

к:

есть прочь разделить на данный момент и вернуть символы на левую т.е. заданной этой строке:

Вот некоторый текст: а вот еще некоторые тексты разная длина

В результате я хотел бы это:

Вот некоторый текст

ответ

3

Использование IndexOf в сочетании с Substring:

string s = "Here is some text to: and here is some more text of a different length"; 

int length = s.IndexOf("to:"); 

if (length > 0) 
{ 
    s = s.Substring(0, length); 
} 
3

Ну, если вы знаете, что это слово в нем:

String s = "Here is some text to: and here is some more text of a different length" 
String result = s.Split(new String[] { "to:" })[0]; 

Вы разделили текст и взяли 1-ю часть.

Если подстрока, которую вы выбрали, не находится в строке, result будет содержать простоту s - без изменений.

+0

1. Fixed, спасибо! 2. Если у вас более одного события 'to:', он просто займет первую часть. –

+1

Код работает, но он проходит через всю строку, которая ИМО не нужна. '.IndexOf' &' .SubString' имеет лучшую производительность. –

+0

@ DannyChen Не может с этим поспорить, но «Сплит» проще, поэтому я почувствовал, что должен показать это решение. –

Смежные вопросы