Использование функции Regex.Replace в программе на c # для замены строки (данных) на «данные»? - PullRequest
0 голосов
/ 29 января 2019

Я хочу использовать функцию Regex.Replace для замены данных в формате

05-11

на

«05-11»

, чтобы Excel мог прочитать его как строку.

Excel преобразует данные в 05-ноя, хотя этот конкретный столбец определен как char.

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

var newString = Regex.Replace(data, @"^(-.*)$", "=\"$0\"");

Как я могу использовать эту функцию для замены любых данных, подобных

'05 -11 ', '15 -2019 '

с

"05-11", "15-2019"

для Excel для чтенияих как строки, а не как формат даты.

1 Ответ

0 голосов
/ 30 января 2019

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

var newstring = Regex.Replace(data, @"\b""?(\d\d-(?:\d\d)?\d\d)""?\b", "\"=\"\"$0\"\"\"");

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

К сожалению, это специальное форматирование теряется, если вы сохраните его как CSV изнутри Excel и попытаетесь перезагрузить.

Подробнее см. в этом вопросе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...