2017-02-06 2 views
2

Нужно знать, как использовать String.Format для удаления ведущих символов из строки. У меня есть ограничение в каком-то существующем коде, который я могу передать только в строке и в строке формата.Есть ли способ обрезать ведущих символов с помощью String.Format()?

Так что вы можете сделать что-то вроде

String.Format("Test output: {0:#}","001") 

и выпускать продукцию

"Выход теста: 1"

Я думаю, что ответ 'нет', но я хотел Чтобы убедиться.

EDIT: Чтобы уточнить, строка формата будет помещена в файл конфигурации, а строка, которая будет отформатирована, является значением, выходящим из базы данных. Я не могу выполнить какой-либо код на нем. Должно быть через строку формата.

+0

Вы могли TrimStart («0») параметр – Steve

+2

Обрезка ведущие нули из _string_ не нормальная функция, поэтому Нет, она не поддерживается. И форматирование '#' также относится к номерам. –

+1

Нет, я не думаю, что есть способ сделать это, используя эту конкретную перегрузку «String.Format». – Abion47

ответ

2

Вы можете сделать это на арг вы передаете

String.Format("Test output: {0:#}", "001".TrimStart('0')) 

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


Другой вариантом является определение и передать в своем собственном форматировщике с помощью настраиваемой реализации IFormatProvider. Я не уверен, что это разрешено или не основывается на вашем последнем изменении.


Однако, с учетом ограничений, перечисленных, не существует способа сделать это с только строковый формат

+0

не поддерживает случай, когда число равно 0,5. Выход будет «.5» – KernelMode

+0

@KernelMode - что не так с этим? '0,5' имеет по определению 1 ведущий 0 и' .5' по-прежнему является допустимым значением. На языке вопроса не было ничего, что указывало бы, что десятичные числа (дробные числа) должны содержать не менее 1 ведущего 0. – Igor

+0

@Igor К сожалению, я не могу сделать TrimStart. В противном случае ваш ответ будет работать нормально. Не уверен, что KernelMode говорит о – Kevin

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