如何从字符串中获取最后一个字母

How to get last letters from a string?

本文关键字:最后一个 获取 字符串      更新时间:2023-09-26

我有以下字符串

str = '"Apples" AND "Bananas" OR Gala Me'

我想在最后得到"Gala Me"的一点。单词"AND"、"OR"或引号之间的任何单词都可以被视为标记。我有一个正则表达式。

regex = /AND|OR|"[^"]+"/g

它匹配我的所有标记,但我怎么能得到与此正则表达式相反的正则表达式来获得不匹配的子字符串呢?

您可以使用令牌split()字符串:

var parts = str.split(/'s*(?:AND|OR|"[^"]+")'s*/)
// ["", "", "", "", "Gala Me"]

可选地,您可以按长度过滤它们:

var parts = str.split(/'s*(?:AND|OR|"[^"]+")'s*/).filter(function(s) {
    return s.length > 0;
});
// ["Gala Me"]

然后,您选择最后一个元素(如果适用):

if (parts.length) {
  console.log(parts.pop());
}
// "Gala Me"

匹配最后一个"AND"或"or"之后的任何内容的正则表达式

.*(?:AND|OR)(.*)$
------------
 |
 |->matches greedily until the last AND or OR

第1组捕获所需的字符串。。