作为输入,我从用户那里得到一个字符串数组。我需要拆分这些行,以便它们形成一个表格,每行具有相同数量的单元格。单元格应包含数字。我想确定单元格分隔符的最佳猜测,并将其作为默认值呈现给用户,如果猜测错误,他可以更改该默认值。
我认为它是以下之一:制表符、分号、空格或逗号。逗号很重要,因为它也被用作德语和其他文化中的小数点。输入可能包含诸如“1.0,2.0,3.0”或“1,0;2,0;3,0”之类的行
到目前为止,我的原始解决方案是:
private char getSeparator(String[] rows) {
String firstRow = rows[0];
char[] possibleSeparators = new char[] {'\t',';',' ',','};
char separator = possibleSeparators[1];
for (int i=0;i<possibleSeparators.length;i++) {
if (firstRow.indexOf(separator) >= 0) {
separator = possibleSeparators[i];
break;
}
}
return separator;
}
是否有更好的启发式方法来获得单元分隔符的最佳匹配?
性能无所谓!