2016-04-04 5 views
-2

Я хотел бы задать вопрос о форматировании строк в C#. В основном я хочу только просмотреть последние n символов в строке.Как получить последние символы строки

Например: строка = ("1201 OFFICE PARK RD WDM, APT 708, FLR 2, корп 7") теперь, что я хочу, чтобы показать:

«APT 708, FLR 2, корп 7 "

Я действительно могу использовать метод remove, но что, если string.length не всегда совпадает с указанным в примере? например, если у меня есть только «1201 OFFICE PARK» или «FLR 2, BLDG 7», оцените эту помощь. Благодаря!

+0

Как вы будете решать на значении 'n'? Является ли 'n' динамическим на основе строкового значения? Или это постоянная ценность? –

+0

Значение n является динамическим. Спасибо за ответ Jaymee – Adrian

+0

ОК, я напишу строку кода здесь: viewService1.Address = customer.ServiceAddress.SingleLine.Replace (Constants.NEW_LINE, Constants.CARRIAGE_RETURN); например: viewService1.Address = "1201 ОФИСНЫЙ ПАРК RD WDM, APT 708, FLR 2, BLDG 7"; , поэтому значение n не может быть определено в этой точке. – Adrian

ответ

1

После ваших комментариев, вы можете работать п.

string s = "1201 OFFICE PARK RD WDM, APT 708, FLR 2, BLDG 7"; 

string subS = s.SubString(s.IndexOf(",") + 1).TrimStart(); 

или если эта строка фиксированного формата:

string subS = s.SubString(s.IndexOf(",") + 2); 
+0

Спасибо afrogonabike! Да, это решение (строка subS = s.SubString (s.IndexOf (",") + 2);) работает. Цените помощь. – Adrian

+0

Можете ли вы принять ответ/отметить? спасибо –

+0

Hi afrogonabike, как я могу это сделать? извините за глупый вопрос. Я только новичок в этом форуме. – Adrian

0
public string GetEnd (string input, int n) 
{ 
    return input.SubString (input.Length - n, n); 
} 

это должно дать вам желаемый результат, до тех пор, как вы знаете n

+0

Спасибо Давиду, но да , проблема здесь в том, что n неизвестно. – Adrian

+0

@Adrian, но как определяется 'n'? –

+0

Вот как мы узнаем значение startindex: SubString (s.IndexOf (",")) – Adrian