我被困在这里......
所以,我有一个字符串:
6,5,1,0,0,4,0,2,1121,18,54,67,6,0
15,5,10,0,6,5,1,3,20,47,119,153,15,0
187,72,115,2,8,19,37,121,74,98,511,622,143,44
我需要获取每行的第一个和最后一个数字并将它们放入表中(使用JavaScript)。
因此我需要
<tr><td>6</td><td>0</td></tr>
<tr><td>15</td><td>0</td></tr>
<tr><td>187</td><td>44</td></tr>
感谢任何帮助。甚至可能暗示:)
答案 0 :(得分:1)
你可以试试regexp
/^([0-9]+),[0-9,]+,([0-9]+)$/
将为您提供第一个和最后一个数字的匹配
答案 1 :(得分:0)
您可以使用
将多行字符串拆分为多行x = "a\nb\nc"
lines = x.split("\n")
遍历每一行并使用正则表达式查找第一个和最后一个数字。 一种易于理解的方法是为第一个和最后一个使用单独的方法。
var first = line.match(/^\d+/)[0]
var last = line.match(/\d+$/)[0]
Regexp并不是必需的,你可以使用.split(',')。
为了制作表格,我建议使用jQuery并阅读.append或google的jQuery文档,例如“如何使用jquery创建表格”。
答案 2 :(得分:0)
希望这会对你有所帮助
<script type="text/javascript">
function Test()
{
var stringValue = "6,5,1,0,0,4,0,2,1121,18,54,67,6,0";
stringValue = BuildRow(stringValue); //stringValue = <tr><td>6</td><td>0</td></tr>
alert(stringValue);
}
//Build a table row from string
function BuildRow(sValue)
{
var first = GetFirstNumberOfLine(sValue);
var last = GetLastNumberOfLine(sValue);
var row = "<tr><td>" + first + "</td><td>" + last + "</td></tr>";
return row;
}
//Return The first number of a string
function GetFirstNumberOfLine(sValue)
{
var numberArray = sValue.split(",");
return numberArray[0];
}
//Return The first last number of a string
function GetLastNumberOfLine(sValue)
{
var numberArray = sValue.split(",");
return numberArray[numberArray.length -1 ];
}
</script>
答案 3 :(得分:0)
我不会使用正则表达式来解决这个问题,而是使用String.split,然后执行类似的操作。
HTML
<table id="results"></table>
的Javascript
var table = document.getElementById("results"),
strings = "6,5,1,0,0,4,0,2,1121,18,54,67,6,0\n15,5,10,0,6,5,1,3,20,47,119,153,15,0\n187,72,115,2,8,19,37,121,74,98,511,622,143,44".split("\n");
strings.forEach(function (string) {
var tr = document.createElement("tr"),
tdFirst = document.createElement("td"),
tdLast = document.createElement("td"),
array = string.split(",");
tdFirst.textContent = array[0];
tdLast.textContent = array[array.length - 1];
tr.appendChild(tdFirst);
tr.appendChild(tdLast);
table.appendChild(tr);
});
上