我有一个需要读取的文本文件。 文本文件的示例如下:
Login,Name,Surname
Rd-001,Raj,Dolka
RS-932,Ram,Selmen
我只想读取所有登录名并将它们添加到en数组中,以便以后可以将它们添加到数据库中。
我能够读取文件,但是我只需要登录名,就不需要它的数据,名称和姓氏。
我的代码如下:
<!DOCTYPE html>
<html>
<head>
<title>reading file</title>
<script type="text/javascript">
var reader = new FileReader();
function readText(that){
if(that.files && that.files[0]){
var reader = new FileReader();
reader.onload = function (e) {
var output=e.target.result;
//process text to show only lines with "-":
output=output.split("\n").filter(/./.test, /\-/).join("\n");
document.getElementById('main').innerHTML= output;
};//end onload()
reader.readAsText(that.files[0]);
}//end if html5 filelist support
}
</script>
</head>
<body>
<input type="file" onchange='readText(this)' />
<div id="main"></div>
</body>
</html>
答案 0 :(得分:1)
您可能想使用explode()
http://php.net/manual/en/function.explode.php
或者,如果您有CSV文件,则可以使用内置的PHP函数str_getcsv
http://php.net/manual/en/function.str-getcsv.php
我会file_get_contents
然后用“ \ n”爆炸CSV文件,
然后foreach
,并使用str_getcsv
,然后将返回的数组保存到另一个数组。
如果要使用JS进行操作,则可以使用split()
答案 1 :(得分:1)
我知道其他发帖人也提到过使用split
,但这是一个片段,实际上,考虑到问题中描述的文本结构,该片段只能让您解析登录信息:
output = output.split("\n").filter((line, i) => i != 0).map(line => line.split(",")[0]).join("\n");
filter
调用的重点是排除第一(标题)行。 map
调用的重点是每行中仅包含第一项。