现在我想做一个小程序,其中有一点功能就是要对一些不是很规则的字符串进行处理
我知道可以用indexOf截取支付串中第一个出现该字符的位置(这里我是想截取空格),
但是,我的程序要处理的字符串并不规则。 因此,我要多操作几此,依次将字符串中的空格的索引取得。
小菜我只知道indexOf和lastIndexOf这两个方法, 也不会举一反三。 各位大牛们多多指教啊
另外,我觉得,我也可做成循环依次处理,先截取到一个空格,处理之后,就把空格和之前的字符串都清理掉
这样再这个字符串又发生了改变,所以又可以取下一个空格的索引了。 这是,我也不知道如何从字符串中
删除指定的索引
[b]问题补充:[/b]
我不懂正则表达式。另外,我觉得这个字符串还是有一些规律的,indexOf这些就能够解决问题,没必要把它变复杂一些
[b]问题补充:[/b]
:D 恩,这么有用,我一定学习
你的问题其实比较有规律,而且刚好适合使用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文档
用Java的正则表达式,它可以处理非常复杂的文本查找,替换等操作。
作为程序员,正则表达式是应该掌握的(说点题外话,perl因为强大的正则表达式而出名,虽然语法挺怪)。搞定它,Linux上的vim,emacs等编辑器,grep的操作,其它语言大多数都支持它,对字符串的搜索,替换都迎刃而解。可以花一些功夫,终身受益,现在就开始吧!