2013-06-22 126 views
-6

是否有在java字符串中插入标点符号的自定义方式?在java字符串中插入标点符号

可以说我有这个小程序:

class Punctuation Marks { 
public static void main (String[]args) { 

String Greetings="Hello how are you"; 

System.out.println("Greetings"); 
} 
} 

预期输出:你好,你怎么样。

+1

这个问题太流行了。 – alfasin

+1

没有什么不可思议的方法可以自动为您添加所有适当位置上的所有标点符号。 – Lion

+1

@alfasin - 你的气味太可笑了:-) –

回答

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

插入标点符号是微不足道的,如果你知道哪里它应该去。但是如果你事先不知道确切的地方,那是不可能的!

+0

好的,让我更清楚一点,我的程序中实际做的是打印部门经理的姓名。我希望能用逗号打印每个管理器名称 –

+0

这是方法 public String getManagers(){ String managers = new String(); for(int i = 0; i

+0

对不起,关于我的代码的格式:( –

1

插入在给定位置的标点符号很简单,只需使用StringBuilder.insert(int index, char toInsert); Programmaticly确定其中标点符号所属,和什么样的使用,是该死的几乎是不可能的。

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. 

这显然意味着不同的事情。 (可告诉我哪个是正确的?为什么呢?而你仍然是正确的,如果有痣在现场?)

基本上,决定哪些可能的选择是“正确的”一个需要深刻理解的标点符号表示 ... 在它们出现的上下文中。这很可能超越了自然语言处理技术的发展水平,当然也不是普通应用程序应该尝试的。