黑马程序员技术交流社区

标题: 字符串切割的问题 [打印本页]

作者: 于星星    时间: 2012-7-27 22:16
标题: 字符串切割的问题
下面是一个统计单词出现次数的例子,用到了字符串切割。但这里面为什么这样切割,小弟有点不懂,求解答。
package test;
import java.util.*;
import java.util.Map.*;
public class Test {
    public static void main(String[] args){
        String text = "Having a good day. Have a good class." +
            "Having a good visit. Have fun!";

        Map<String,Integer> treeMap = new TreeMap<String,Integer>();

        String[] words = text.split("[ .!?]"); //这是什么意思?        
       for(int i=0;i<words.length;++i){
            if(words.length()>1){
                if(treeMap.get(words) != null){
                    int value = treeMap.get(words).intValue();
                    value ++;
                    treeMap.put(words,value);
                }else{
                    treeMap.put(words,1);
                }
            }
        }
        System.out.println("Display words and their count in"+" ascending order of the words1");
        System.out.println(treeMap);
    }
}


作者: 李珍    时间: 2012-7-27 23:34
String[] words = text.split("[ .!?]");
把字符串text以[.!?]作为标记进行切割!
好像试着个意思吧!!!!
作者: fiend    时间: 2012-7-27 23:36
本帖最后由 fiend 于 2012-7-27 23:39 编辑

String[] words = text.split("[ .!?]");就是以空格、点、感叹号、问号作为分割符号。
比如:
  1. public class Test {
  2. public static void main(String[] args){
  3. String text = "hello world!I.love you.very much";
  4. String[] words = text.split("[ .!?]");
  5. for (String word : words) {
  6. System.out.println(word);
  7. }
  8. }
  9. }
复制代码

作者: 李珍    时间: 2012-7-27 23:36
  String[] words = text.split("[ .!?]");
把字符串text以[.!?]作为分割符进行切割
作者: 于星星    时间: 2012-7-28 00:30
fiend 发表于 2012-7-27 23:36
String[] words = text.split("[ .!?]");就是以空格、点、感叹号、问号作为分割符号。
比如: ...

分隔符还能是多个的呀?而且是或的关系,我以前只见过以一个字符或字符串分隔的。还以为“.?!”是个什么正则表达式呢,呵呵,多谢
作者: 韦念欣    时间: 2012-7-28 01:01
于星星 发表于 2012-7-28 00:30
分隔符还能是多个的呀?而且是或的关系,我以前只见过以一个字符或字符串分隔的。还以为“.?!”是个什么 ...

[.!?]
这个其实就是一个正则表达式,这个正则表达式匹配一个字符,这个字符可以是:点 或 感叹号 或 问号。
作者: 吴立杰    时间: 2012-7-28 08:20
楼主一下就蒙了,知识没有灵活哦,这个不是正则表达式吗?[abc]:代表a、b或、c啊 [.!?]代表点、感叹号或问号啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2