相关疑难解决方法(0)

如何在Java中以不区分大小写的方式检查String是否包含另一个String?

说我有两个字符串,

String s1 = "AbBaCca";
String s2 = "bac";
Run Code Online (Sandbox Code Playgroud)

我想执行一个s2包含在其中的检查返回s1.我可以这样做:

return s1.contains(s2);
Run Code Online (Sandbox Code Playgroud)

我很确定这contains()是区分大小写的,但是我无法通过阅读文档来确定这一点.如果是,那么我想我最好的方法是这样的:

return s1.toLowerCase().contains(s2.toLowerCase());
Run Code Online (Sandbox Code Playgroud)

除此之外,还有另一种(可能更好的)方法来实现这一目标而不关心区分大小写吗?

java string

368
推荐指数
7
解决办法
34万
查看次数

indexOf区分大小写?

indexOf(String)方法区分大小写吗?如果是这样,它是否有不区分大小写的版本?

java case-sensitive

67
推荐指数
6
解决办法
8万
查看次数

不区分大小写的存储和unicode兼容性

在我听到有人在我的工作中使用String.toLowerCase()在数据库中存储不区分大小写的代码以进行搜索之后,我有一个史诗般的失败时刻,想到它可能出错的方式:

  • 土耳其测试(特别是在正在运行的计算机上更改区域设置)
  • Unicode版本升级 - 我的意思是,谁知道这些东西?如果我升级到Java 7,如果我不区分大小写,我必须重新索引我的数据?

哪些技术受Unicode版本的影响?

我是否需要担心Oracle或SQL Server(或其他供应商)更改其unicode版本并导致我的某个区域设置不会导致相同的低位或高位字符转换?

我该如何管理?我被确保使用数据库转换的"简单性"所诱惑,但是当有升级时,它将成为同样的问题.

unicode compatibility

15
推荐指数
2
解决办法
5079
查看次数

忽略Java中字符串的'contains'大小写

考虑:

public static void main(String[] args) {

    String s = "AbcD";

    System.out.println(s.contains("ABCD"));
    System.out.println(s.contains("AbcD"));
}
Run Code Online (Sandbox Code Playgroud)

输出:

false
true
Run Code Online (Sandbox Code Playgroud)

无论如何,我都要求结果在两种情况下都是正确的.可能吗?

java string

10
推荐指数
3
解决办法
5万
查看次数

忽略scala中字符串的大小写

考虑:

object HelloWorld {
  def main(args: Array[String]): Unit = {

    val s:String = "AbcD"

    println(s.contains("ABCD"))
    println(s.contains("AbcD"))

  }
}
Run Code Online (Sandbox Code Playgroud)

输出:

false
true
Run Code Online (Sandbox Code Playgroud)

无论如何,我都要求结果在两种情况下都是正确的.可能吗?

scala case-sensitive case-insensitive

5
推荐指数
1
解决办法
1万
查看次数

如何将contains转换为equals.ignorecase?

我正在将一个文本文件读入我的程序,并让用户搜索一个字符串.我怎样才能使它不区分大小写呢?这是我的代码片段:

while (str1.hasNextLine())
{
    String line = str1.nextLine();
    line = line.replace(";", " ");
    if(line.contains(Val))
    {
        System.out.println(line);
    } 

}
Run Code Online (Sandbox Code Playgroud)

Val是字符串变量.它是用户输入的字符串,如果在文本文件中找到,则该字符串将在该行上打印出来.但我需要它不区分大小写.出于某种原因,当我使用equals.IgnoreCase它时,它不起作用.

java string contains

1
推荐指数
1
解决办法
116
查看次数

查找字符串是否与另一个字符串匹配

我想解析一个字符串,以查看它是否匹配整个字符串或子字符串.我试过这个:

String [] array = {"Example","hi","EXAMPLE","example","eXamPLe"};
String word;
...
if ( array[j].toUpperCase().contains(word) ||  array[j].toLowerCase().contains(word)  )
System.out.print(word + " ");
Run Code Online (Sandbox Code Playgroud)

但我的问题是:

当用户输入单词"Example"(区分大小写)并且在我的数组中"Example"它没有打印它,它只打印"EXAMPLE","example"那是因为当我的程序比较两个字符串时它将我的array[j]字符串转换为大写或小写,所以它不匹配单词大写和小写都像"示例"这样的单词.

所以在这种情况下,如果用户输入"Examp"我想要打印:

Example EXAMPLE example eXamPLe
Run Code Online (Sandbox Code Playgroud)

java string string-comparison

0
推荐指数
1
解决办法
138
查看次数