Javascript 如何获取字符串中的第一个单词

Javascript 如何获取字符串中的第一个单词,javascript,regex,Javascript,Regex,web上的答案与其他编程语言相关。我做了很多搜索,但似乎没有一个有效。我正在寻找每个标题 var str = ["bob, b", "the, d", "builder, e", "can", "he", "fix", "it" ] str.match(/^(\w+)/) // Uncaught TypeError: str.match is not a function 我已经试着看了,但是……我还在学习,我的电脑不能正确使用它 如何仅返回bob而不返回bob,b?您运行的不是字符串,而是字

web上的答案与其他编程语言相关。我做了很多搜索,但似乎没有一个有效。我正在寻找每个标题

var str = ["bob, b", "the, d", "builder, e", "can", "he", "fix", "it" ]
str.match(/^(\w+)/) // Uncaught TypeError: str.match is not a function
我已经试着看了,但是……我还在学习,我的电脑不能正确使用它

如何仅返回
bob
而不返回
bob,b

您运行的不是字符串,而是字符串数组
str
是一个数组(因此不知道里面是什么),但是该数组的第一个元素
str[0]
是一个
字符串,并且有一个
match()
方法。在
str[0]
上运行正则表达式,您应该返回“bob”

最好重命名数组变量以反映这一点(例如,
strArray
)。

关于正则表达式:

首先,您必须使用^查看字符串的开头

然后,您希望匹配字母(或数字?),只要没有任何其他字符:

[a-zA-Z0-9]
你的正则表达式应该是

^[a-zA-Z0-9]+
正如@Compynerd255所说:您需要对字符串而不是数组应用match()函数。

var str=[“bob,b”,“the,d”,“builder,e”,“can”,“he”,“fix”,“it”];
对于(变量i=0;i
首先,您需要从
数组中获取第0个元素,然后
使用coma分割它,这样它将返回一个
数组
,一旦获得
数组
,您就可以从中提取第一个元素

在螺母壳中,以下各项起作用

var str = ["bob, b", "the, d", "builder, e", "can", "he", "fix", "it" ]

console.log(str[0].split(',')[0]);

不能对数组应用正则表达式。迭代每个元素:

/(\w+)/.exec(str[i])[1]
试试这个

function getFirstWord(str) {
  var matched = str.match(/^\w+/);
  if(matched) {
    return matched[0];
  }

  console.error("No Word found");
  return -1;
};

var str = ["bob, b", "the, d", "builder, e", "can", "he", "fix", "it"];

for(var i = 0, strLen = str.length; i < strLen; i += 1) {
  var item = str[i];
  var firstWord = getFirstWord(item);

  console.log(firstWord);
}
函数getFirstWord(str){ var matched=str.match(/^\w+/); 如果(匹配){ 返回匹配的[0]; } 控制台。错误(“未找到单词”); 返回-1; }; var str=[“bob,b”,“the,d”,“builder,e”,“can”,“he”,“fix”,“it”]; 对于(变量i=0,strLen=str.length;i
OP>>“如何仅返回
bob
而不返回
bob,b
?”否。
str[2]
返回字母
b
str[0]
返回
[
@Mi创造力为什么删除了答案?你知道它有效。
str.match('[a-zA-Z]+'))
正是我想要的。谢谢大家。@Sylar,是的,很抱歉我拼错了正则表达式,这就是为什么我删除了它,因为我的笔记本电脑在我修复它之前就快死掉了。你不能在阵列上执行正则表达式。@penne12非常肯定这正是我刚才说的
function getFirstWord(str) {
  var matched = str.match(/^\w+/);
  if(matched) {
    return matched[0];
  }

  console.error("No Word found");
  return -1;
};

var str = ["bob, b", "the, d", "builder, e", "can", "he", "fix", "it"];

for(var i = 0, strLen = str.length; i < strLen; i += 1) {
  var item = str[i];
  var firstWord = getFirstWord(item);

  console.log(firstWord);
}