字符串处理问题

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

...全文
110 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
用正则表达式

81,122

社区成员

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

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