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

wgo*_*l01 -4 java

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

例:

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

比起来的

作为p.

ass*_*ias 9

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

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

哪个输出:

a l s.
W a n l, a s p!
Run Code Online (Sandbox Code Playgroud)

说明:

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