繁体   English   中英

如何在字符串的特定索引处匹配字符?

[英]How can I match a char at a specific index in a string?

我有一个简单的字符串,试图确定特定的索引是否导致特定的字符。

我正在尝试这样做(但出现编译错误):

if(myString.charAt(7).equals("/")) {
    // do stuff
} else {
   // do other stuff
}

错误:

Type mismatch: cannot convert from char to boolean

(myString.charAt(7).equals("/")

应该跟随,因为charAt()返回char:

myString.charAt(7) == '/'
if(myString.charAt(7)== '/') {
    // do stuff
} else {
   // do other stuff
}

将字符放在双引号中会使它成为String 单引号使它成为char 然后将字符与文字==进行比较,而将Objects与equals方法进行比较

这个答案有几个解决方案,可以为您提供可能要尝试做的事情,即将一个字符与另一个字符进行比较。 我不会再说了,因为他们做得很好。

但是如果愿意,您仍然可以使用String并为将来做准备。 (也许“ /”更改为“ //”?),您可以这样做:

if(myString.substring(7,8).equals("/")) {
    // stuff
}

然后在路上你可能会像

public static final String SEPARATOR_STRING = "//";
public static final int SEPARATOR_START = 7;
public static final int SEPARATOR_END = 7 + SEPARATOR_STRING.length();

// later
if(myString.substring(SEPARATOR_START,7SEPARATOR_END).equals(SEPARATOR_STRING)) {
    // stuff
}

charAt()返回char,而不是对象,因此您需要通过以下方式进行比较:

if(myString.charAt(7)== '/') {
...

注意/周围的单引号。

if(myString.substring(7,8).equals("/")) 

要么

if(myString.charAt(7)=='/')

要么

if(myString.indexOf("/"))==7)  can be use

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM