Java:使用带有.endsWith的OR运算符

pau*_*aul -1 java string

我有一堆字符串我想用.endsWith函数分隔它们.我想写这样的东西:

if (textString.endsWith("_xyz"))
   //do this
else if (textString.endsWith("_xyz" || "_pqr" || "_abc")) 
   throw new Error();
Run Code Online (Sandbox Code Playgroud)

是否可以使用.endsWith是否有另一种达到上述要求的最佳方式?

YCF*_*F_L 6

您可以使用正则表达式,并matches()解决你的问题:

if (textString.matches(".*_(xyz|pqr|abc)$")) {
   // do something
}
Run Code Online (Sandbox Code Playgroud)

细节 :

  • .* 匹配一个或多个字符
  • _(xyz|pqr|abc)$结尾_和三个中的一个xyz或pqr或abc