gangezhizhi
2009-01-11 15:15
浏览 205
已采纳

请教大家一个关于操作字符串的问题

现在我想做一个小程序,其中有一点功能就是要对一些不是很规则的字符串进行处理
我知道可以用indexOf截取支付串中第一个出现该字符的位置(这里我是想截取空格),

但是,我的程序要处理的字符串并不规则。 因此,我要多操作几此,依次将字符串中的空格的索引取得。
小菜我只知道indexOf和lastIndexOf这两个方法, 也不会举一反三。 各位大牛们多多指教啊

另外,我觉得,我也可做成循环依次处理,先截取到一个空格,处理之后,就把空格和之前的字符串都清理掉
这样再这个字符串又发生了改变,所以又可以取下一个空格的索引了。 这是,我也不知道如何从字符串中
删除指定的索引
[b]问题补充:[/b]
我不懂正则表达式。另外,我觉得这个字符串还是有一些规律的,indexOf这些就能够解决问题,没必要把它变复杂一些
[b]问题补充:[/b]
:D 恩,这么有用,我一定学习

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • etank2011 2009-01-11 15:57
    已采纳

    你的问题其实比较有规律,而且刚好适合使用StringTokenizer类来以空格划分字符串,然后依次拿到分割后的部分作处理
    例如
    [code="java"]
    String s = "this is a string with long space";
    StringTokenizer stringTokenizer = new StringTokenizer(s, " ");
    while (stringTokenizer.hasMoreTokens()) {
    System.out.println(stringTokenizer.nextToken());
    }
    [/code]
    输出结果为
    [code="java"]
    this
    is
    a
    string
    with
    long
    space
    [/code]
    具体关于这个类的参数和详细使用方法可以参考JDK文档

    点赞 打赏 评论
  • wwwghost 2009-01-11 15:37

    用Java的正则表达式,它可以处理非常复杂的文本查找,替换等操作。

    点赞 打赏 评论
  • wwwghost 2009-01-11 15:52

    作为程序员,正则表达式是应该掌握的(说点题外话,perl因为强大的正则表达式而出名,虽然语法挺怪)。搞定它,Linux上的vim,emacs等编辑器,grep的操作,其它语言大多数都支持它,对字符串的搜索,替换都迎刃而解。可以花一些功夫,终身受益,现在就开始吧!

    点赞 打赏 评论

相关推荐 更多相似问题