如何获取字符串的最后一个字符?

lon*_*rah 167 java string substring

如何获取字符串的最后一个字符?

public class Main
{
    public static void main(String[] args) 
    {
        String s = "test string";
        //char lastChar = ???
    }   
}
Run Code Online (Sandbox Code Playgroud)

jco*_*ctx 224

代码:

public class Test {
    public static void main(String args[]) {
        String string = args[0];
        System.out.println("last character: " +
                           string.substring(string.length() - 1)); 
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

last character: f
Run Code Online (Sandbox Code Playgroud)

  • 将它作为字符串返回,而不是字符,但您已经知道如何执行后者,而且我不清楚您要做什么。 (5认同)
  • 如果你的字符串是空的怎么办? (5认同)
  • 在这种情况下会引发异常.你不想要吗? (3认同)
  • 问题要求输入一个字符 - 这将返回一个字符长的字符串。应该使用 `charAt()` 而不是 `substring()` (2认同)
  • 安德鲁,如果你在编辑之前回顾一下原来的问题,你会发现OP已经尝试过 charAt() 并且这不是她想要的。这是像 SO 这样类似 wiki 的媒体的问题之一,问题是一个移动的目标,有时答案可能看起来很愚蠢。 (2认同)

Ani*_*ket 94

这是一种使用方法String.charAt():

String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));
Run Code Online (Sandbox Code Playgroud)

结果输出是last char = a.


Sur*_*gch 25

其他答案包含许多不必要的文本和代码.以下是获取String的最后一个字符的两种方法:

烧焦

char lastChar = myString.charAt(myString.length() - 1);
Run Code Online (Sandbox Code Playgroud)

String lastChar = myString.substring(myString.length() - 1);
Run Code Online (Sandbox Code Playgroud)


Nei*_*ury 21

其他答案非常完整,如果你想找到一个字符串的最后一个字符,你肯定应该使用它们.但如果您只是尝试使用条件(例如,是最后一个字符'g'),您还可以执行以下操作:

if (str.endsWith("g")) {
Run Code Online (Sandbox Code Playgroud)

或者,字符串

if (str.endsWith("bar")) {
Run Code Online (Sandbox Code Playgroud)


Bal*_*a R 5

试试这个:

if (s.charAt(0) == s.charAt(s.length() - 1))
Run Code Online (Sandbox Code Playgroud)

  • 这个答案是错误的。它仅检查第一个和最后一个字符是否相同。 (2认同)