使用JavaScript拆分字符串

7

如何使用JavaScript解析此字符串

19 51 2.108997
20 47 2.1089

就像这样

<span>19 51</span> <span>2.108997</span>     
<span>20 47</span> <span>2.1089</span>

2
你打错字了吗?我找不到合适的关系。19 51怎么变成了20 46?还是这不重要? - JohnP
你是指 <span>19 51</span> <span>...</span><span>20 47</span> <span>...</span> 吗? - Andreas Louv
解析什么到什么?如果你只想在分隔符上拆分,那么有一个标准函数可以做到这一点,你应该查找它。 - Marcin
你是否试图将一个顶部形式的字符串转换为底部形式?你能描述一个更一般的情况吗?例如,如果一行中有超过2个空格会发生什么? - Tom Elliott
可能是重复的问题:如何使用split? - That1Guy
3个回答

35

假设您正在使用jQuery..

var input = '19 51 2.108997\n20 47 2.1089';
var lines = input.split('\n');
var output = '';
$.each(lines, function(key, line) {
    var parts = line.split(' ');
    output += '<span>' + parts[0] + ' ' + parts[1] + '</span><span>' + parts[2] + '</span>\n';
});
$(output).appendTo('body');

3
请注意,第二行之后,lines 变量将是一个从零开始的数组,因此您可以通过以下方式访问已匹配的各个元素(在上面的示例中每个换行符):lines[0]lines[1] 等。 - Dzhuneyt

1

像这样:

var myString = "19 51 2.108997";
var stringParts = myString.split(" ");
var html = "<span>" + stringParts[0] + " " + stringParts[1] + "</span> <span>" + stringParts[2] + "</span";

0
var wrapper = $(document.body);

strings = [
    "19 51 2.108997",
    "20 47 2.1089"
];

$.each(strings, function(key, value) {
    var tmp = value.split(" ");
    $.each([
        tmp[0] + " " + tmp[1],
        tmp[2]
    ], function(key, value) {
        $("<span>" + value + "</span>").appendTo(wrapper);
    }); 
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接