2010-03-12 6 views
4

Я новичок в программировании на C#, и я хочу задать вопрос.Извлечение подстроки в C#

Как получить значение в() и сохранить его в другой строке. Пример:
У меня есть строка

s1="here there (hi)"; 

Как я могу получить

s2="hi"; 

() всегда будет в конце предложения (никогда на первом или между ними).

+0

вы можете иметь ип согласованный «(» как «это Harde (г, чем с (не непревзойденной„(“) –

ответ

8
string s1 = "abc (hi)"; 
string s2 = s1.Substring(s1.LastIndexOf("(") + 1, s1.LastIndexOf(")") - s1.LastIndexOf("(") - 1); 
+0

хороший, на самом деле! – Kangkan

+2

виду, что это будет бросать исключение, если исходная строка не содержит скобок. – fretje

+0

Эта реализация генерирует исключение ArgumentOutOfRangeException, второй параметр подстроки должен быть длиной, а не символьным индексом. –

2
string s2 = s1.Substring(s1.LastIndexOf("(") + 1, s1.LastIndexOf(")") - s1.LastIndexOf("(") - 1); 
2
string e1 = "here there (hi)"; 
//Extraction 
string s2 = e1.Substring(e1.IndexOf("(")+1, (e1.LastIndexOf(")") - e1.IndexOf("("))-1); 
+0

все приведенные выше ответы неверны они покажут слово в скобке ...................... – perilbrain

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