【问题标题】:Java substring in a string字符串中的 Java 子字符串
【发布时间】:2013-04-20 19:52:54
【问题描述】:

我知道这个问题已经被问了无数次了..但我似乎无法让它发挥作用。问题是,

  1. 即使将所有内容都转换为小写也不行 输入“计算机”和“比较”。
  2. 如果字符串是一个句子(我加了一个空格),它实际上会跳过子字符串代码并说“不在字符串中”..

感谢您的帮助。 谢谢!

Scanner in=new Scanner(System.in);
System.out.println("\fEnter the main string:");

String GivenString=in.next();
System.out.println("Enter the substring :");

String SubString=in.next();

GivenString.toLowerCase();
SubString.toLowerCase();

if(GivenString.indexOf(SubString)!=-1)
{
    System.out.println("Substring is in the given string.");
}
else
{
    System.out.println("Substring is not in the given string.");
}

【问题讨论】:

  • 请使用正确的命名约定。它使代码更易于阅读。
  • 谢谢@syb0rg。立即更换。

标签: java string substring


【解决方案1】:

Strings 是不可变的,toLowerCase() 返回一个新的 String 对象。这些行:

GivenString.toLowerCase();
SubString.toLowerCase();

...不要修改GivenStringSubString 中的值。

您需要将它们修改为:

GivenString = GivenString.toLowerCase();
SubString = SubString.toLowerCase();

【讨论】:

  • 另外,请注意,按照 Java 的约定(与其他一些语言不同,如 C#),变量名以小写字母开头,这将它们与类名区分开来。
猜你喜欢
  • 2016-03-10
  • 1970-01-01
  • 2014-08-05
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多