Это просто альтернатива предоставленному Джим решению. Вы можете использовать Regular Expressions для достижения того же результата. (Это, конечно, если ожидаемое количество цифр постоянно В противном случае, вам нужно будет немного изменить шаблон для размещения.)
Если исходная строка:
N \ г \ п XXXX XXXX -XXXX XXXXX 45 108 10 N \ r \ nJ \ r \ nT \ r \ n *** (10) 5 2738372 827172672 2 *** X 345 145/00 \ r \ nXxxxxx: \ r \ nXxxxxx \ r \ nXxxxxx \ г \ nXXXXX 21 \ г \ nXXXXXX 2't Xxx
Использование шаблона:
\ (\ d {2} \) \ s \ d \ s \ d {7} \ s \ d {9} \ с \ д
что можно объяснить следующим образом:
\(\d{2}\) - Where the string starts with (and contains 2 numeric digits followed by)
\s\d\ - and is followed by a space and a numeric digit
\s\d{7} - and is then followed by a space and 7 numeric digits
\s\d{9} - and is then followed by a space and 9 numeric digits
\s\d - and finally ending with a space and a single numeric digit
Вы можете использовать:
public static string ParseValue(string sourceStr)
{
string pattern = @"\(\d{2}\)\s\d\s\d{7}\s\d{9}\s\d";
return System.Text.RegularExpressions.Regex.Match(sourceStr, pattern).Value;
}
Который даст вам следующий результат:
(10) 5 2738372 827172672 2
A Вы пробовали * ничего *? SO действительно не служба написания кода. Всегда ли это на 5-й строчке? Всегда ли такая же длина и всегда начинается в начале строки? Это всегда один и тот же текст? Вы не дали нам достаточно информации о проблеме. –
Я дам вам подсказку: 'String.Split',' String.Substring', 'Regular Expression' может потенциально решить вашу проблему. – Greg
Является всегда такой же длиной и всегда в начале 4-й новой линии. Необходимо извлечь эту часть (10) 5 2738372 827172672 2 в текст выше. – dumbCoder