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

时间:2011-03-02 05:34:16

标签: java string substring

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

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

12 个答案:

答案 0 :(得分:220)

代码:

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

输出:

last character: f

答案 1 :(得分:86)

以下是使用String.charAt()的方法:

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

结果输出为last char = a

答案 2 :(得分:22)

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

<强>炭

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

<强>字符串

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

答案 3 :(得分:16)

其他答案非常完整,如果您正在尝试查找字符串的最后一个字符,则应该使用它们。但如果您只是尝试使用条件(例如最后一个字符&#39; g&#39;),您还可以执行以下操作:

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

或,字符串

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

答案 4 :(得分:5)

试试这个:

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

答案 5 :(得分:2)

简单的解决方案是:

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);
}

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

另一个解决方案使用StringBuilder(它通常用于执行String manupilation,因为String本身是不可变的。

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();
}

另一种方法(更多用于指导而非实际使用)是这个方法:

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();
}

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

答案 6 :(得分:2)

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

答案 7 :(得分:2)

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

答案 8 :(得分:2)

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

输出应为:

t

快乐的编码!

答案 9 :(得分:0)

数组中的内容:

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

答案 10 :(得分:0)

这是我用来获取字符串的最后一个xx的方法:

public static String takeLast(String value, int count) {
    if (value == null || value.trim().length() == 0) return "";
    if (count < 1) return "";

    if (value.length() > count) {
        return value.substring(value.length() - count);
    } else {
        return value;
    }
}

然后像这样使用它:

String testStr = "this is a test string";
String last1 = takeLast(testStr, 1); //Output: g
String last4 = takeLast(testStr, 4); //Output: ring

答案 11 :(得分:-1)

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