用公共分隔符解析javascript中的字符串

用公共分隔符解析javascript中的字符串,javascript,regex,string,parsing,Javascript,Regex,String,Parsing,在javascript中,我有一个格式为“/john/smith”的字符串。我想得到数组“first name”:“john”,“last name”:“smith” js是否有一些基于分隔符的简单函数来解析这个字符串?我没有看到任何,谷歌除了做一些正则表达式外什么也没有返回 var str="/john/smith" var ar=str.split("/"); 现在,ar[1]将包含名字 &ar[2]将包含lastname您可以使用.split()方法进行此操作。有关.split()的引用

在javascript中,我有一个格式为“/john/smith”的字符串。我想得到数组“first name”:“john”,“last name”:“smith”

js是否有一些基于分隔符的简单函数来解析这个字符串?我没有看到任何,谷歌除了做一些正则表达式外什么也没有返回

var str="/john/smith"
var ar=str.split("/");
现在,ar[1]将包含名字

&ar[2]将包含lastname

您可以使用.split()方法进行此操作。有关.split()的引用,请参见MDN:

它使用起来非常简单

var namestring = "/John/Smith";
var pieces = namestring.split("/");
作品[1]包含“约翰”,作品[2]包含“史密斯”。请注意,这些索引数组是1和2,而不是0和1。片段[0]包含“”,因为split()返回由提供的分隔符分隔的字符串。在第一个“/”字符之前有一个空字符串,因此第一个结果是空的。

split()
方法将完成此任务

var str="/john/smith"
var arr=str.split("/");
arr[1]将给出forstname,arr[2]将给出secondname

类似的名称:

var str = "/john/smith";

//empty is here because if you split by / you'll get ["", "john", "smith"]
var getObject = function(empty, first, last) {
    //You could traverse arguments, witch will have every match in an "array"
    return {
       first_name: first,
       last_name: last
    };
}

firstAndLastName = getObject.apply(null, str.split('/')); //Object {first_name: "john", last_name: "smith"}

对于您的特定示例,有几种方法可以做到这一点,因为大多数其他答案在开始时都会留下一个
/
,这些方法将输出正确的结果:

var result = str.match(/[^/]+/g);
或:

简单的Javascript方法应该可以工作

var myOriginalString = '/John/Smith';
var afterSplitArray = myOriginalString.split('/');
var firstName = afterSplitArray[1]; // John
var lastName = afterSplitArray[2]; //Smith
唯一需要注意的是,如果原始字符串以分隔符开头,则必须从index=1开始访问变量,如上例所示

var myOriginalString = '/John/Smith';
var afterSplitArray = myOriginalString.split('/');
var firstName = afterSplitArray[1]; // John
var lastName = afterSplitArray[2]; //Smith