关于java:如何获取字符串的最后一个字符?

How do I get the last character of a string?

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

1
2
3
4
5
6
7
8
public class Main
{
    public static void main(String[] args)
    {
        String s ="test string";
        //char lastChar = ???
    }  
}


代码:

1
2
3
4
5
6
7
public class Test {
    public static void main(String args[]) {
        String string = args[0];
        System.out.println("last character:" +
                           string.substring(string.length() - 1));
    }
}

输出:

1
last character: f


这里有一种使用String.charAt()的方法:

1
2
String str ="India";
System.out.println("last char =" + str.charAt(str.length() - 1));

产生的输出是last char = a


其他答案包含大量不必要的文本和代码。以下是获取字符串最后一个字符的两种方法:

烧焦

1
char lastChar = myString.charAt(myString.length() - 1);

1
String lastChar = myString.substring(myString.length() - 1);

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

1
if (str.endsWith("g")) {

或,字符串

1
if (str.endsWith("bar")) {


试试这个:

1
if (s.charAt(0) == s.charAt(s.length() - 1))


1
2
String aString ="This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));

输出应为:

1
t

编码愉快!


1
2
3
public char LastChar(String a){
    return a.charAt(a.length() - 1);
}


1
2
3
4
5
6
public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}


简单的解决方案是:

1
2
3
4
5
6
7
8
9
10
public String frontBack(String str) {
  if (str == null || str.length() == 0) {
    return str;
  }
  char[] cs = str.toCharArray();
  char first = cs[0];
  cs[0] = cs[cs.length -1];
  cs[cs.length -1] = first;
  return new String(cs);
}

使用字符数组(注意讨厌的空字符串或空字符串参数!)

另一种解决方案是使用StringBuilder(由于字符串本身是不可变的,所以通常使用它来进行字符串操作)。

1
2
3
4
5
6
7
8
9
10
public String frontBack(String str) {
  if (str == null || str.length() == 0) {
    return str;
  }
  StringBuilder sb = new StringBuilder(str);  
  char first = sb.charAt(0);
  sb.setCharAt(0, sb.charAt(sb.length()-1));
  sb.setCharAt(sb.length()-1, first);
  return sb.toString();
}

另一种方法(更多的是指导而不是实际使用)是:

1
2
3
4
5
6
7
8
public String frontBack(String str) {
  if (str == null || str.length() < 2) {
    return str;
  }
  StringBuilder sb = new StringBuilder(str);
  String sub = sb.substring(1, sb.length() -1);
  return sb.reverse().replace(1, sb.length() -1, sub).toString();
}

在这里,整个字符串被反转,然后不应该反转的部分被子字符串替换。;)


数组中的某些内容:

1
2
s = 'some string'
s[-1]   # last char


1
2
3
4
5
6
 public char lastChar(String s) {
     if (s =="" || s == null)
        return ' ';
    char lc = s.charAt(s.length() - 1);
    return lc;
}