如果有'空格,则获取字符后的所有字符串

Get all of string after a character, if there's a space break

本文关键字:字符 字符串 获取 空格 如果      更新时间:2023-09-26

试图获取:符号后的所有字母数字字符,除非存在空格,在这种情况下,空格将作为终止标记。

// the following should all return foo
text = 'a :foo bar';   
text = 's:foo';
text = ':foo, test';

试过这个,但是没有得到东西,除非有一个空间。我可能需要一个正则表达式,但不确定如何构造

var t = following.substring(following.lastIndexOf(":")+1,following.lastIndexOf(' '));

/:([a-zA-Z0-9]+)/

':foo, test'.match(/:([a-zA-Z0-9]+)/)[1] //returns foo
's:foo'.match(/:([a-zA-Z0-9]+)/)[1] //returns foo
':foo, test'.match(/:([a-zA-Z0-9]+)/)[1] //returns foo

这些RegEx使用了2部分:

  • : 查找紧跟在
  • 后面的:
  • [a-zA-Z0-9]+ 任意字母数字字符

注意:由于此正则表达式匹配我指定的字符类型,因此在这种情况下不需要"空格中断",因为它只匹配:之后的字母数字字符,它将自动排除空格,逗号等,任何其他字符包含在方括号内将使该字符成为可能的匹配。

我建议使用正则表达式,例如(尽管未经测试):

var result = text.match(/:([a-zA-Z0-9]*)'s/)[1];

引用:

  • javascript正则表达式。String.match()

你可以像这样使用正则表达式

/:(['w]+)['W]/g