我有这个字符串

'john smith~123 Street~Apt 4~New York~NY~12345'

使用JavaScript,最快的方法是什么

var name = "john smith";
var street= "123 Street";
//etc...

当前回答

因为分隔逗号的问题被复制到这个问题上,所以在这里添加这个。

如果你想对一个字符进行拆分,并处理该字符后面可能出现的额外空格,通常使用逗号,你可以使用替换然后拆分,如下所示:

var items = string.replace(/,\s+/, ",").split(',')

其他回答

使用JavaScript的String.prototype.split函数:

var input = 'john smith~123 Street~Apt 4~New York~NY~12345';

var fields = input.split('~');

var name = fields[0];
var street = fields[1];
// etc.

您需要研究JavaScript的substr或split,因为这不是一个真正适合jQuery的任务。

你不需要jQuery。

var s = 'john smith~123 Street~Apt 4~New York~NY~12345'; Var字段= s.split(/~/); 变量名称=字段[0]; Var street = fields[1]; console.log(名称); console.log(街);

扎克是对的。使用他的方法,你也可以做出一个看似“多维”的数组。我在JSFiddle http://jsfiddle.net/LcnvJ/2/上创建了一个快速示例

// array[0][0] will produce brian
// array[0][1] will produce james

// array[1][0] will produce kevin
// array[1][1] will produce haley

var array = [];
    array[0] = "brian,james,doug".split(",");
    array[1] = "kevin,haley,steph".split(",");

如果分裂者被发现,那么只有

它会分裂

否则返回相同的字符串

函数 SplitTheString(ResultStr) { if (ResultStr != null) { var splitchars = '~'; if (ResultStr.indexOf(SplitChars) >= 0) { var DtlStr = ResultStr.split(SplitChars); var name = DtlStr[0]; var street = DtlStr[1]; } } }