如何防止以角度分割逗号分隔的字符串? [英] How to prevent split comma separated string in angular?
问题描述
您好,
我正在尝试使用angular导出csv。
我的数组是 -
140 abc(address1)
xyz,delhi(地址2)
我的实际地址是140 abc,xyz,delhi(地址1,地址2)
结果 -
store_id | Store_Name |地址| Pincode |地标|状态
1 | abc | 140 abc | xyz | delhi | 10001 | xxx | sss
结果显示错误。
请帮助我如何显示正确的结果。
先谢谢。
Ankit Agarwal
软件工程师
我尝试过:
Hello,
I am trying to export csv using angular.
my array is-
140 abc (address1)
xyz, delhi (address2)
my actual address is "140 abc, xyz, delhi" (address1,address2)
result-
store_id|Store_Name|Address|Pincode|Landmark|Status
1|abc|140 abc|xyz|delhi|10001|xxx|sss
result is displaying wrong.
please help me how will be display correct result.
Thanks in Advance.
Ankit Agarwal
Software Engineer
What I have tried:
ConvertToCSV(objArray) {
//var arr=['store_id','store_name','address1','address2','pincode','landmark','status_text']
const newArray = objArray.map(o => {
return { store_id: o.store_id, store_name: o.store_name, address: o.address1 +" "+ o.address2, pincode: o.pincode,landmark: o.landmark,status: o.status_text };
});
var array = typeof newArray != 'object' ? JSON.parse(newArray) : newArray;
var str = '';
var row = '';
for (var index in newArray[0]) {
//Now convert each value to string and comma-separated
row += index + ',';
}
row = row.slice(0, -1);
//append Label row with line break
str += row + '\r\n';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index];
}
str += line + '\r\n';
}
return str;
}
推荐答案
如果要将逗号保留为任何CSV文件中字符串的一部分,则必须分隔带双引号的整个字符串列。事实上,总是在CSV文件中的任何字符串周围使用双引号是个好主意:
If you want to keep commas as part of a string in any CSV file, you have to delimit the whole string column with double quotes. In fact, it's a good idea to always use double quotes around any string in a CSV file:
1,"abc","140 abc,xyz,delhi",10001,"xxx","sss"
要在双引号字符串中包含双引号,请将它们加倍:
To include double quotes in a double quoted string, double them:
1,"abc","140 abc,""xyz"",delhi",10001,"xxx","sss"
会给你这些专栏:
Will give you these columns:
1
abc
140 abc,"xyz",delhi
10001
xxx
sss
这篇关于如何防止以角度分割逗号分隔的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!