我想使用Regex.Replace函数替换格式为
的数据05-11
到
“ 05-11”
,以便excel可以将其读取为字符串。
即使该特定列定义为char,Excel也会将数据转换为11月5日。
在我的应用程序代码中,我具有下面的代码,以双引号“ data”替换以破折号(-)开头的任何数据
var newString = Regex.Replace(data, @"^(-.*)$", "=\"$0\"");
如何使用此功能替换
之类的任何数据“ 05-11”,“ 15-2019”
与
“ 05-11”,“ 15-2019”
供excel将其读取为字符串而不是日期格式。
答案 0 :(得分:0)
不幸的是,Excel不接受"
作为文本列的指示符,唯一可以确保用单引号引起来的值。
var newstring = Regex.Replace(data, @"\b""?(\d\d-(?:\d\d)?\d\d)""?\b", "\"=\"\"$0\"\"\"");
这将查找可能构成整个列值的双引号日期字符串,并将其输出并用等号和双引号引起来。
不幸的是,如果您从Excel内部另存为CSV并尝试重新加载,则会丢失这种特殊格式。
有关详细信息,请参见this question。