如何获取字符串的最后一个字符?
如何获取字符串的最后一个字符?如何获取字符串的最后一个字符?
public class Main
{
public static void main(String[] args)
{
String s = "test string";
//char lastChar = ???
}
}
的代码:
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
返回它作为一个字符串,而不是一个字符,但你已经知道如何做后者,而且我不清楚你在做什么。 – 2011-03-02 05:46:30
如果你的字符串是空的,该怎么办? – 2015-01-26 19:19:14
它会在这种情况下引发异常。你不想要它? – 2015-01-26 19:33:14
简单的解决方案是:使用
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(通常用于执行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();
}
在这里,整个字符串反转,那么不应该扭转部分被替换的子字符串。 )
尝试这种情况:
if (s.charAt(0) == s.charAt(s.length() - 1))
下面是使用String.charAt()
的方法:
String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));
所产生的输出是last char = a
。
public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}
其他答案包含大量不必要的文本和代码。这里有两种方式来得到一个字符串的最后一个字符:
焦炭
char lastChar = myString.charAt(myString.length() - 1);
字符串
String lastChar = myString.substring(myString.length() - 1);
public char LastChar(String a){
return a.charAt(a.length() - 1);
}
String aString = "This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));
输出应该是:
t
快乐编码!
这是与此处给出的完全相同的示例https://stackoverflow.com/a/13025371/773479 – 2017-10-03 00:47:37
哎呀,没有看到。 – 2017-10-03 22:57:40
其他答案非常完整,如果您想要查找字符串的最后一个字符,则应该明确地使用它们。但是,如果你只是想使用条件(比如是最后一个字符“G”),你也可以做到以下几点:
if (str.endsWith("g")) {
,或者串
if (str.endsWith("bar")) {
你有几个问题混在一起。大致说来,是的,'str.charAt(str。length() - 1)'通常是字符串中的最后一个字符;但是考虑一下如果str为空或者null,会发生什么。 – 2011-03-02 05:47:07
其工作正常。但是,palidrome检查的逻辑听起来不正确,请提一下你得到的错误。 – Zimbabao 2011-03-02 05:47:57
可能重复[如何从字符串中删除最后一个字符?](http://stackoverflow.com/questions/7438612/how-to-remove-the-last-character-from-a-string) – Nateowami 2014-10-04 12:32:26