Java - 字符串中每个单词的第一个字母

时间:2014-02-13 18:35:07

标签: java

我正在尝试编写一个程序来帮助记忆长篇文章,我被困住了。我正在尝试编写一种方法,当传递一个字符串时,将返回一个字符串,该字符串只包含字符串中单词的第一个字母,以及换行符和标点符号。有什么帮助吗?

示例:

这是一个测试句,有换行符\ n和一些标点符号。

T i a t s,t h a n

a s p。

1 个答案:

答案 0 :(得分:9)

使用正则表达式,您可以简单地使用(如果您不想要重音字母):

String s = "a long sentence.\nWith a new line, and some punctuation!";
System.out.println(s.replaceAll("(\\w)\\w+", "$1"));

输出:

a l s.
W a n l, a s p!

说明:

  • \\w代表[a-zA-Z_0-9] =>中的字符这不会与重音字母一起使用
  • (\\w)\\w+寻找一组至少两个字母
  • $1返回第一个捕获组(括号内的部分,即第一个字母)。