java中怎样只去掉字符串后面的空格?

橘子香水 2005-03-14 01:16:43
trim()去掉前后的空格,怎么没有rtrim()只去掉字符串后面的空格?
...全文
4523 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebillow 2005-03-15
  • 打赏
  • 举报
回复
不错的思路
呵呵
支持阿
wangkunhong 2005-03-15
  • 打赏
  • 举报
回复
打扰一下,先帮我看一个问题啊,100分,不够再加,烦死人了...

http://community.csdn.net/Expert/topic/3848/3848281.xml?temp=3.403872E-02
msnxi 2005-03-15
  • 打赏
  • 举报
回复
public class MyString{
public static String rTrim(String s){
int len = s.length();
int st = 0;
int off = 0; /* avoid getfield opcode */
char[] val = s.toCharArray(); /* avoid getfield opcode */

while ((st < len) && (val[off + len - 1] <= ' ')) {
len--;
}
return ((st > 0) || (len < s.length())) ? s.substring(st, len) : s;
}

public static String lTrim(String s){
int len = s.length();
int st = 0;
int off = 0; /* avoid getfield opcode */
char[] val = s.toCharArray(); /* avoid getfield opcode */

while ((st < len) && (val[off + st] <= ' ')) {
st++;
}
return ((st > 0) || (len < s.length())) ? s.substring(st, len) : s;
}

public static void main(String[] args){
MyString ms = new MyString();
System.out.println("rTrim():" + ms.rTrim(" 222 ") + "end");
System.out.println("lTrim():" + ms.lTrim(" 222 ") + "end");
}
}
bp69 2005-03-15
  • 打赏
  • 举报
回复
不可能吧
cuilichen 2005-03-15
  • 打赏
  • 举报
回复
自己动手,丰衣足食。呵呵
flyforlove 2005-03-14
  • 打赏
  • 举报
回复
先看看trim()这个方法的实现
public String trim() {
int len = count;
int st = 0;
int off = offset; /* avoid getfield opcode */
char[] val = value; /* avoid getfield opcode */

while ((st < len) && (val[off + st] <= ' ')) {
st++;
}
while ((st < len) && (val[off + len - 1] <= ' ')) {
len--;
}
return ((st > 0) || (len < count)) ? substring(st, len) : this;
}

自己改一下,把去掉前面空格的那一部分代码去掉就可以了。
xiaojiagj 2005-03-14
  • 打赏
  • 举报
回复
先String这个参数,再在后面加上.ltrim()方法就OK了
雷萌德 2005-03-14
  • 打赏
  • 举报
回复
嗯必要时采取强制性手段
fashchina 2005-03-14
  • 打赏
  • 举报
回复
自己写吧
shuren 2005-03-14
  • 打赏
  • 举报
回复
好方法!
zcjl 2005-03-14
  • 打赏
  • 举报
回复
楼上的怎么和我想法一致啊,^_^
cxz7531 2005-03-14
  • 打赏
  • 举报
回复
稍微变通一下
String str = " asd ";
String ntr = ("A" + str).trim().substring(1);
System.out.println("str=\"" + str + "\"");
System.out.println("ntr=\"" + ntr + "\"");
qingzhuang 2005-03-14
  • 打赏
  • 举报
回复
.trim() 是可以去掉前后空格的,看jsdk上的文档:
Returns a copy of the string, with leading and trailing whitespace omitted.
cj287215 2005-03-14
  • 打赏
  • 举报
回复
那样不行呀!!
雷萌德 2005-03-14
  • 打赏
  • 举报
回复
.trim()
数据娃掘 2005-03-14
  • 打赏
  • 举报
回复
用gaochao79()说的方法,很好,能实现
gaochao79 2005-03-14
  • 打赏
  • 举报
回复
呵呵 用递归,判断最后一个字符是不是空格,如果是就截取前面n-1个,再判断……直到最后一个字符不是空格,输出
tianhua 2005-03-14
  • 打赏
  • 举报
回复
gz
网事随逢 2005-03-14
  • 打赏
  • 举报
回复
稍微变通一下
String str = " asd ";
String ntr = ("A" + str).trim().substring(1);
System.out.println("str=\"" + str + "\"");
System.out.println("ntr=\"" + ntr + "\"");

有创意,也有点无奈。:)
IEQQ 2005-03-14
  • 打赏
  • 举报
回复
回复人: cxz7531(大花猫) ( ) 信誉:97 2005-03-14 11:02:00 得分: 0


稍微变通一下
String str = " asd ";
String ntr = ("A" + str).trim().substring(1);
System.out.println("str=\"" + str + "\"");
System.out.println("ntr=\"" + ntr + "\"");



俺实在太佩服你了。

俺实在太佩服你了。

俺实在太佩服你了。

加载更多回复(7)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧