当前位置: 首页 > article >正文

正则应用--java算法

文章目录

  • 代码网址
  • 题目
  • 用例
  • 解答


代码网址

https://gitee.com/zfranklin/java-intelli-j/blob/master/OD/src/C13My.java

题目

在这里插入图片描述

用例

在这里插入图片描述

解答

public static String getResult(String s) {
String[] words = s.split(" ");
for (int i=0;i<words.length;i++) {
   Matcher matcher = Pattern.compile("[aeiouAEIOU]").matcher(words[i]);
   if (matcher.find()) {
       words[i] = matcher.replaceAll("*");
   } else {
       char[] cArr = words[i].toCharArray();
       char tmp = cArr[0];
       cArr[0] = cArr[cArr.length-1];
       cArr[cArr.length-1] = tmp;
       words[i] = new String(cArr);
   }
}
return String.join(" ",words);

Pattern 类代表一个编译好的正则表达式。Pattern.compile 方法用于将给定的正则表达式字符串编译成一个 Pattern 对象。
[aeiouAEIOU] 是一个正则表达式,它表示匹配任意一个元音字母(大小写均可)。

Pattern 对象的 matcher 方法会接受一个字符串作为参数,这里是 words[i],然后返回一个 Matcher 对象。
这个 Matcher 对象会与传入的字符串 words[i] 关联起来,后续可以利用它对该字符串进行正则匹配操作。

声明了一个 Matcher 类型的变量 matcher,用于存储 Pattern.compile(“[aeiouAEIOU]”).matcher(words[i]) 返回的 Matcher 对象。

查找匹配项:使用 Matcher 的 find() 方法可以在字符串中查找下一个匹配正则表达式的子串。例如在原代码里,matcher.find() 用于判断 words[i] 中是否存在元音字母。
替换匹配项:使用 Matcher 的 replaceAll() 方法可以将字符串中所有匹配正则表达式的子串替换为指定的字符串。原代码中 matcher.replaceAll(“*”) 把 words[i] 里的所有元音字母替换成了 *。


http://www.kler.cn/a/583930.html

相关文章:

  • 【Java项目】基于JSP的咨询交流论坛系统
  • 用 Python 检测两个文本文件的相似性的几种方法
  • 人工智能混合编程实践:Python ONNX进行图像超分重建
  • 【探秘机器人:从当下到未来的科技跃迁】
  • VSCode集成C语言开发环境
  • 八叉树地图的原理与实现
  • 基于GoogleNet深度学习网络和GEI步态能量提取的步态识别算法matlab仿真,数据库采用CASIA库
  • 归并排序的一些介绍
  • 【Linux】线程
  • 贪心算法——c#
  • FX-std::map
  • CLR中的类型转换
  • Redis7——进阶篇(六)
  • Chat-TTS-UI:文字转语音 - 本地部署方案
  • 根据TCP中的拥塞控制细说网卡了数据怎么传输
  • Spring Boot 项目中application.yml 和 bootstrap.yml 文件的区别
  • AISuite:一个新的开源Python库,提供了统一的跨LLM API
  • 深入解析:如何通过Spring Boot启动器无缝集成LangChain4j实现AI服务自动化
  • 轻量级嵌入式WebRTC开发:音视频通话EasyRTC纯C语言实现SFU/MCU架构与QoS优化
  • 浅谈时钟启动和Systemlnit函数