如何在另一个字符串中查找字符串并忽略小写/大写? [复制]

Posted

技术标签:

【中文标题】如何在另一个字符串中查找字符串并忽略小写/大写? [复制]【英文标题】:How to find string in another string and also ignoring lower / uppercase? [duplicate] 【发布时间】:2020-05-07 03:43:35 【问题描述】:

我需要定义我的查询是 DDL 还是 DML。为此,我需要尝试在另一个字符串(我的查询)中找出部分字符串,例如“create”“update”等。

我的字符串:

"CreATE table test (id number);"
"sElECT * from user;"
"ALTER table;"

如果字符串包含“create/select/alter”并且忽略大小写,谁能告诉我如何返回 true? 我试过了:

Pattern.compile(Pattern.quote(query), Pattern.CASE_INSENSITIVE).matcher("CREATE").find())

但它有时有效,有时无效,我认为这是实现我的目标的坏方法。

【问题讨论】:

这能回答你的问题吗? String contains - ignore case 应该是Pattern.compile(Pattern.quote("create"), Pattern.CASE_INSENSITIVE).matcher(query).find()) 如果你想检查它是否包含任何创建/选择/更改 - Stream.of("create", "select" ,"alter").anyMatch(myString.toLowerCase()::contains); 哇,事实上,我有它应该是相反的方式。谢谢 J Anand 老板:D 【参考方案1】:

只需使用 String 类方法

"CreATE table test (id number);".toLowerCase().contains("create")

【讨论】:

以上是关于如何在另一个字符串中查找字符串并忽略小写/大写? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Liunx常用操作-如何忽略大小写查找

如何在erlang中匹配子字符串忽略大小写

java中对字符串数组去重并忽略大小写

如何让字符串数组的Contains忽略大小写

如何让字符串数组的Contains忽略大小写

Linux忽略大小写查找技巧