使用Java中的正则表达式获取字符串中每个单词的首字母

2021年3月13日16:53:13 发表评论 940 次浏览

给定一个字符串, 提取其中每个单词的第一个字母。 "单词"定义为字母字符的连续字符串, 即任何大写或小写字母a-z或A-Z。

例子:

Input : Geeks for geeks
Output :Gfg
        
Input : United Kingdom
Output : UK

推荐:请尝试使用{IDE}首先, 在继续解决方案之前。

下面是正则表达式提取每个单词的第一个字母。它使用" / b"(边界匹配器之一)。请参考如何编写正则表达式?学习它。

\b[a-zA-Z]
// Java program to demonstrate extracting first
// letter of each word using Regex
import java.util.regex.Matcher;
import java.util.regex.Pattern;
  
public class Test
{
     static void printFirst(String s)
     {
         Pattern p = Pattern.compile( "\\b[a-zA-Z]" );
         Matcher m = p.matcher(s);
  
         while (m.find())
             System.out.print(m.group());
  
         System.out.println();
     }
  
     public static void main(String[] args)
     {
         String s1 = "Geeks for Geeks" ;
         String s2 = "A Computer Science Portal for Geeks" ;
         printFirst(s1);
         printFirst(s2);
     }
}

输出如下:

GfG
ACSPfG

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: