4

我有一段代码基本上可以将英语翻译成文字。

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

就目前而言,这就是我得到的:

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

反正我不会丢失分隔符吗?

编辑:这是进行解析的方法。就目前而言,它将分隔符替换为空格,因此至少它仍然可读...

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();
                }
4

1 回答 1

6

您可以使用StringTokenizer具有

StringTokenizer(String str, String delim, boolean returnDelims) 

迭代令牌时的构造函数也会给你返回分隔符。

于 2012-10-25T14:02:47.403 回答