代码之家  ›  专栏  ›  技术社区  ›  DEVOPS

如何使用JavaScript拆分逗号分隔的字符串并在循环中处理

  •  42
  • DEVOPS  · 技术社区  · 16 年前

    3 回复  |  直到 16 年前
        1
  •  105
  •   Nirmalya Ghosh    9 年前

    我的两分钱,加上trim去掉sAc答案中的初始空白。

    var str = 'Hello, World, etc';
    var str_array = str.split(',');
    
    for(var i = 0; i < str_array.length; i++) {
       // Trim the excess whitespace.
       str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
       // Add additional code here, such as:
       alert(str_array[i]);
    }
    

    split 也将使用正则表达式作为参数:

    'Hello, cruel , world!'.split(/\s*,\s*/);
    //-> ["Hello", "cruel", "world!"]
    

    但是,此解决方案不会修剪第一项的开头和最后一项的结尾,这通常不是问题。

    因此,如果您的目标浏览器支持ES5数组附加组件(如 map 或 forEach

    myStringWithCommas.split(/\s*,\s*/).forEach(function(myString) {
        console.log(myString);
    });
    
        2
  •  29
  •   Sarfraz    16 年前

    这样地:

    var str = 'Hello, World, etc';
    var myarray = str.split(',');
    
    for(var i = 0; i < myarray.length; i++)
    {
       console.log(myarray[i]);
    }
    
        3
  •  9
  •   Anax    16 年前

    请尝试以下代码段:

    var mystring = 'this,is,an,example';
    var splits = mystring.split(",");
    alert(splits[0]); // output: this
    
        4
  •  1
  •   Renish Gotecha    7 年前

    var str = "this,is,an,example";
    var strArr = str.split(',');
    var data = "";
    for(var i=0; i<strArr.length; i++){
      data += "Index : "+i+" value : "+strArr[i]+"<br/>";
    }
    document.getElementById('print').innerHTML = data;
    <div id="print">
    </div>
        5
  •  0
  •   Aakash Sajjad    6 年前

    您可以尝试以下代码段:

    var str = "How are you doing today?";
    var res = str.split("o");
    console.log("My Result:",res)
    

    你的输出是这样的

    My Result: H,w are y,u d,ing t,day?