如何检测最后一个字符

3

我有一个字符串,想知道该字符串的最后一个字符是否为 #
例子:

String test="test my String #";
3个回答

17

简单来说:

if (test.endsWith("#"))

3
以下代码片段应该很有启发性:
    String[] tests = {
        "asdf#",
        "#asdf",
        "sdf#f",
        "#",
        "",
        "asdf",
    };
    String fmt = "%6s%12s%12s%12s%n";
    System.out.format(fmt, "String", "startsWith", "endsWith", "contains");
    for (String test : tests) {
        System.out.format(fmt, test,
            test.startsWith("#"),
            test.endsWith("#"),
            test.contains("#")
        );
    }

这将打印:

String  startsWith    endsWith    contains
 asdf#       false        true        true
 #asdf        true       false        true
 sdf#f       false       false        true
     #        true        true        true
             false       false       false
  asdf       false       false       false

String API链接


2
if(test.endsWith("#"))   

或者,如果你真的想手动完成它(不是一个好主意)...
if(test.charAt(test.length()-1) == '#')

2
太晚了 xD 我也可能错了,但第二个可能会对空字符串造成伤害 :( - Johannes Schaub - litb
1
嗯,charAt返回一个字符,对吧?所以你应该a)使用==而不是.equals,并且b与'#'进行比较,而不是使用"#" - sepp2k
@Johannes - 是啊,我还以为我很快呢,没法和他竞争 :-/。@sepp2k - 嗯,是个打字错误,我马上就改了,你读得真快 :)。 - froadie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接