这几天开始重新学习Java,在课程最后有一道题要求找出设备名称,题目如下:

1.编写程序,将字符串“打印机*钟表//自行车**雨伞%%收音机??电脑”进行拆分,输出每

个设备的名字。

刚开始思路:将// 、**、%%、??等符号全替换为*,然后再按*进行分割,发现效率太低而且需要额外变量存储每次替换后的字符串。后面突然想到可以使用正则表达式:str.split("%%|\\*|\\//|\\?"),代码如下:

public class Stringsplit{

public static void main(String args[]){

String str = "打印机*钟表//自行车**雨伞%%收音机??电脑";

String temp[] = str.split("%%|\\*|\\//|\\?");

for(String word : temp)

{

System.out.println(word);

}

}

}

结果如下,发现有不必要的空行,经过分析当分割连续两个*和?时会输出两个空行。经过思考可以使用正则表达式中的+符号,表示一个或多个。

改进代码如下:

public class Stringsplit{

public static void main(String args[]){

String str = "打印机*钟表//自行车**雨伞%%收音机??电脑";

//利用+表示一个或多个

String temp[] = str.split("%%|\\*+|\\//|\\?+");

for(String word : temp)

{

System.out.println(word);

}

}

}

结果如下,完美解决问题:

java 分割_Java 根据多个连续的符号分割字符串相关推荐

  1. java 分句_JAVA按文字,标点符号和引号分割句子

    一句话: "Hallo, I'm a dog. The end. Someone said: \"Earth is Earth\". Is it good? I like ...

  2. java txt分割_Java分割txt文件

    Java分割txt文件,现在网络小说比较长,好多朋友想用手机或者mp3之类的工具阅读,但是文件太大不方便,于是乎,我就写了一个分割文件的小程序,时间仓促,从有想法到写出初稿大概用来半个小时.先贴上来, ...

  3. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  4. 人民币读法的java程序_java人民币读法转换

    java人民币读法转换 实现浮点数转换成人民币读法字符串 编写一个程序,将浮点数转换成人民币读法字符串, 例如:    将1006.333转换为壹千零陆元叁角叁分. 题意分析: 将浮点数分成整数部分和 ...

  5. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  6. long java 比较_Java到底是不是一种纯面向对象语言?

    Java--是否确实的 "纯面向对象"?让我们深入到Java的世界,试图来证实它. 在我刚开始学习 Java 的前面几年,我从书本里知道了 Java 是遵循 "面向对象编 ...

  7. java 解析文件中竖线与0拆分_Java split拆分使用竖线为分隔符的字符串方法

    http://webservices.ctocio.com.cn/java/197/9472197.shtml 在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到 ...

  8. java replace( . )_Java replace() 方法

    Java replace() 方法 Java String类 replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串. 语法 publ ...

  9. 重磅发布!Google语义分割新数据集来啦!又一个分割SOTA模型

    [导读]自动驾驶里视觉一直为人所诟病,特斯拉就是经常被拉出来批判的典型.谷歌最近开发了一个新模型,效果拔群,已被CVPR2021接收. 对于人来说,看一张平面照片能够想象到重建后的3D场景布局,能够根 ...

最新文章

  1. mysql读取表最后10条数据
  2. GDCM:gdcm::ImageHelper的测试程序
  3. 20190608笔试题のCSS-属性继承
  4. Linux系统【一】CPU+MMU+fork函数创建进程
  5. java ejb jsp 架构_JavaEE架构
  6. 辽宁沈阳计算机学校王斯琪,青春正好,理所当“燃”——沈阳万合技校开展2020-2021年度春季学期跳大绳比赛...
  7. 加密 lua_三、Lua相关知识
  8. linux 获取文件父目录权限,使用setfacl实现子目录继承父目录权限
  9. 模数转换实验中断方式c语言,DSP实验报告--模拟信号的AD+FFT变换
  10. 模拟线性调制系统的仿真
  11. 各种数组元素复制方式的性能比较
  12. 【手写数字识别】基于matlab Fisher分类手写数字识别 【含Matlab源码 505期】
  13. python模态窗口_python webdriver 对模态窗口的处理
  14. [读论文]三维激光扫描点云数据处理研究进展、挑战与趋势(2017)
  15. vba中split用法
  16. java mina框架_Mina框架在项目中的使用(一)
  17. java 2的64次幂_2的N次方对照表 2的64次方等于几?
  18. Fingerprint指纹识别学习
  19. 绝世巨作,阿里架构师著作的《架构解密:从分布式到微服务》来了
  20. regedit.msc

热门文章

  1. Android内存优化总结
  2. 深度学习基础----吴恩达课后编程练习(一)识别猫
  3. RT-Thread串口设备实操
  4. 三级网络技术第三题总结
  5. TI C2000系列TMS320F2837xD开发板(DSP+FPGA)硬件规格参数说明书
  6. houmee实习日记4.17
  7. 企业邮箱“成员收发权限”功能详解【如何开通企业邮箱】
  8. ecg去噪 matlab,基于matlab对ECG信号进行滤波处理
  9. 我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈
  10. 1.6.6 解释器 Interpreter