2012-10-25 22 views
4

我有一段代码,基本上可以将英文翻译成文本。正确解析一个字符串而不会丢失分隔符

此刻我正在使用String.split()方法并使用\\\W作为分隔符,删除所有非单词字符。

因为它的立场,这是我所得到的:

input:I hate text speak!:) 
output:I h8 txt spk 

反正我不会失去分隔符?

编辑:这是一条什么它代表它取代了分隔符用空格所以至少它仍然是可读的parsing.As方法...

public static String engToText(String text){ 
        text=text.toLowerCase(); 
        String translated=" "; 


        //breaks string into tokens 
        String[] tokens = text.split("\\W"); 

        for(int x=0;x<tokens.length;x++){ 
         if(wordMapEng.containsKey(tokens[x])){ 
          translated+=" "+wordMapEng.get(tokens[x]); 
         }else{ 
          translated+=" " + tokens[x]; 
         } 
        } 


        return translated.trim(); 
       } 
+0

你能发布你的代码吗? – Jagger

+0

好的贾格尔? – SocialistPig

回答

6

可以使用StringTokenizer类具有

StringTokenizer(String str, String delim, boolean returnDelims) 

构造函数,当迭代令牌时还可以让你回到delimeters。