JQuery / Javascript&分裂?

时间:2014-10-02 19:57:35

标签: javascript join split

警告:作为一个笨蛋,我缺乏准确描述我的问题的词汇。忍受我。

我们假设我有一个类似下面的字符串:

  

A1 A2 %% %% A3 A4 %% || B1 B2 %% %% B3 B4 %% || C1 %% C2 C3 %% %% C4 || D1 D2 %% %% D3 D4 %% < / p>

使用JavaScript / JQuery我想将它拆分两次(使用'||'和'%%'作为分隔符)并将以下HTML作为输出:

<p><input value="A1"></input><input value="A2"></input><input value="A3"></input><input value="A4"></input></p>
<p><input value="B1"></input><input value="B2"></input><input value="B3"></input><input value="B4"></input></p>
<p><input value="C1"></input><input value="C2"></input><input value="C3"></input><input value="C4"></input></p>
<p><input value="D1"></input><input value="D2"></input><input value="D3"></input><input value="D4"></input></p>

我知道如何进行基本的分裂和加入,但这超出了我的理解范围。

3 个答案:

答案 0 :(得分:0)

您可以使用replace

function splitString(match, part) {
  switch (part) {
    case '%%':
      return '"></input><input value="';
          
    case '||':
      return '"></input></p>\n<p><input value="';
  }
}

var formattedValue = 'A1%%A2%%A3%%A4||B1%%B2%%B3%%B4||C1%%C2%%C3%%C4||D1%%D2%%D3%%D4'.replace(/(%%|\|\|)/g, splitString);

formattedValue = '<p><input value="' + formattedValue + '"></input></p>';

console.log(formattedValue);

答案 1 :(得分:0)

你可以使用这样的东西。

s = "A1%%A2%%A3%%A4||B1%%B2%%B3%%B4||C1%%C2%%C3%%C4||D1%%D2%%D3%%D4"; 
s2 = s.split("||");  
s2.forEach(function(item){ 
  s3 = item.split("%%"); 
  s3.forEach(function(item2){ 
       console.log(item2); 
  }); 
});

答案 2 :(得分:0)

所有拆分连接。它会很快。

var str = 'A1%%A2%%A3%%A4||B1%%B2%%B3%%B4||C1%%C2%%C3%%C4||D1%%D2%%D3%%D4',
    result = str.split('||').join('"></input></p>\n<p><input value="');

result = '<p><input value="'+
        result.split('%%').join('"></input><input value="')+
        '"></input></p>';

console.log(result);
//or
//alert(result);
//

对于这样的问题,不要过多考虑你想要的格式。 首先从简单的事情开始:

var result = str.split('||').join('><');
result = str.split('%%').join('><');

然后你可能会看到如何使用更长的字符串来获得你真正想要的东西。