【发布时间】:2016-06-18 23:39:19
【问题描述】:
我正在寻找“正确”的方法来确定用户文化中的列表分隔符。 现在我正在使用这个代码:
private static SetSeparator() {
var list = ['a', 'b'];
var s = list.toLocaleString();
var sep = s[1];
CSVGenerator.Delimiter = sep;
}
它有效,但似乎有点 hacky。我想知道是否有记录的方法可以在 Typescript(或 JavaScript)中获取本地列表分隔符。
我需要这些信息才能在客户端正确生成 CSV 文件。 谢谢
【问题讨论】:
-
数组中的 toLocaleString() 将用于解析日期对象或数字。据我所知,默认的“,”分隔符永远不会改变,除非我误解了你的问题。
-
其实“,”不是默认的,它取决于用户当前的语言/国家设置。如果您使用法语设置(例如),您的默认分隔符将是“;”。
-
有趣,我不知道。好吧,您的解决方案确实看起来很“hacky”,但我想用 list.unshift('a') 添加一个填充字符,然后使用第二个字符索引作为分隔符,当您获得的数组具有不同的第一个位置元素时,它会保持一致长度。
-
我唯一的问题是我不确定世界上所有国家/地区都只使用 1 个字符进行分隔。这就是为什么我要求某种“记录”的方式来找到这个(这些)字符
-
用最新的 chrome 用法语试过,我得到 ',' 这是不正确的。知道为什么吗?
标签: javascript excel typescript