是否有自定义方式在java String中插入标点符号?
假设我有这个小程序:
class Punctuation Marks {
public static void main (String[]args) {
String Greetings="Hello how are you";
System.out.println("Greetings");
}
}
预期输出:你好,你好吗。
答案 0 :(得分:2)
这个怎么样:
String greetings = "Hello" + "," + " how are you";
或者这个:
String greetings = "Hello how are you";
greetings = greetings.substring(0, 5) + "," + greetings.substring(5);
或者这个:
String greetings = "Hello how are you";
greetings = new StringBuilder(greetings).insert(5, ",").toString();
如果您知道应该去哪里,插入标点符号是微不足道的。但如果你事先不知道确切的地方,那就不可能了!
答案 1 :(得分:1)
在指定位置插入标点符号很简单,只需使用StringBuilder.insert(int index, char toInsert);
以编程方式确定标点符号所在的位置,以及使用什么类型,几乎不可能。
答案 2 :(得分:0)
答案的要点是自动标点符号几乎不可能。
为什么?
基本上是因为有很多单词序列可以用不同的方式标点,以表示不同的东西。例如。
the cow jumped over the hill I saw another cow
可以标点为
The cow jumped. Over the hill I saw another cow.
或
The cow jumped over the hill. I saw another cow.
这显然意味着不同的事情。 (可以你告诉我哪一个是正确的?为什么?如果现场有痣,你仍然是正确的吗?)
基本上,决定哪些可能的替代方案是“正确的”替代方案需要深刻理解在它们出现的上下文中 这很可能超出了自然语言处理的技术水平,当然也不是普通应用程序应该尝试的东西。