java删除字符串中最后一个字符
最近刷题遇到需求: 需要删除String类型的最后一个字符。 形如a,b,c,d,e,f,删除最后一个逗号 或是helloworld!删除最后一个感叹号
方法:使用str.substring
String str = "a,b,c,d,e,f,"; str = str.substring(0,str.length()-1);
简单介绍一下substring用法:
str.substring(startidx,endidx);
substring返回一段字符串。 其中:
-
startidx为substring的起始index endidx为substring的结束index
而substring返回二者之间的字符串,且不包含index为endidx的字符。 如方法1中的用例,返回的是第0个字符到最后一个字符(不包括)的字符串,即去掉最后一个字符的字符串。 同样,我们可以做到删除指定位数的字符:
public static String removeCharAt(String s, int pos) { return s.substring(0, pos) + s.substring(pos + 1); }
特殊情况
值得一提的是,如果最后需要删除的是空格,如我写了一段输出函数
String[] str = sc.nextLine().split(" "); Arrays.sort(str); for(String s : str){ tmp+=s+" "; } System.out.println(tmp);
在拼接的最后一步会多一个空格出来,删除时可以用str.trim()方法,trim()方法返回删除头尾空白符的字符串。
tmp = tmp.trim(); System.out.println(tmp);
缺点是如果头部也有空白,也会随着一起删除。
下一篇:
学了Java可以做什么工作