字符串处理问题

「已注销」 2010-10-15 04:05:33
如何处理字符串 **TEST*11
把前面的** 给去掉呢 前面* 的各位不确定,只去掉前面的

...全文
87 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kerioz 2010-10-15
使用index of 和substring结合 先找到你不是*的第一个字符的位置 再对整个字符串进行处理 再不行 你麻烦点 分割字符串 遍历每个字符元素 *就除掉 再组合字符串 得出你要的
  • 打赏
  • 举报
回复
「已注销」 2010-10-15
我就喜欢正则表达式
可就是不会写
  • 打赏
  • 举报
回复
softroad 2010-10-15

String regex = "\\*+";
System.err.println("**TEST*11".replaceFirst(regex, ""));
  • 打赏
  • 举报
回复
jimware 2010-10-15
String a = "***TEST*11";
int m= a.IndexOf("TEST");
Console.WriteLine(a.Substring(m));
  • 打赏
  • 举报
回复
IloveChinatoo 2010-10-15

public static void main(String args[]) {
String testStr = "**TEST*11";
String subStr = "";
// 记录*号首次结束的位置
int starEnd = 0;
for (int i = 0; i < testStr.length(); i++) {
subStr = testStr.substring(i, i + 1);
if (!"*".equals(subStr)) {
starEnd = i;
break;
}
}
// 结果
String result = testStr.substring(starEnd, testStr.length());
System.out.println(result);
}
  • 打赏
  • 举报
回复
无伤 2010-10-15
public static void main(String[] args)
{
String test = "**TEST*11";
String result = null;


while (test.indexOf("*") == 0) {
test = test.substring(1);
}

System.out.println(test);
}
  • 打赏
  • 举报
回复
IloveChinatoo 2010-10-15
循环,从头开始依次取出长度为一个字符的子字符串(用substring方法,参照文档)
str.substring(i, i + 1);
再和"*"比较,遇到首个不相等字符,再用substring截取从当前位置到末尾就行了。
  • 打赏
  • 举报
回复
blazingfire 2010-10-15
System.out.println("**TEST*11".replaceFirst("^\\**", ""));
  • 打赏
  • 举报
回复
graysonLee 2010-10-15
[Quote=引用 3 楼 kurama_mail 的回复:]
Java code

String a = "**TEST*11";
int i = a.indexOf("TEST");
System.out.println(a.substring(i));
[/Quote]
这个可行。
  • 打赏
  • 举报
回复
kurama_mail 2010-10-15

String a = "**TEST*11";
int i = a.indexOf("TEST");
System.out.println(a.substring(i));
  • 打赏
  • 举报
回复
chooseforget 2010-10-15
正则是首选。


笨方法。 循环charAt,遇到不是*的就break,记录索引,循环外substring。
  • 打赏
  • 举报
回复
小一郎 2010-10-15
用正则表达式
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-15 04:05
社区公告
暂无公告