我有一段代码,基本上将英文翻译成文字说话.
目前我正在使用该String.split()方法并使用\\\W作为分隔符,删除所有非单词字符.
就目前而言,这就是我得到的:
input:I hate text speak!:)
output:I h8 txt spk
Run Code Online (Sandbox Code Playgroud)
反正我有没有丢失分隔符?
编辑:这是进行解析的方法.现在它用空格替换分隔符,所以至少它仍然可读...
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();
}
Run Code Online (Sandbox Code Playgroud)