文档章节

Java 根据多个连续的符号分割字符串

clean_code
 clean_code
发布于 2015/06/15 11:20
字数 333
阅读 4345
收藏 6

    这几天开始重新学习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);
		}
	}
}

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

© 著作权归作者所有

共有 人打赏支持
clean_code
粉丝 1
博文 36
码字总数 7768
作品 0
厦门
程序员
私信 提问
java中 split方法的使用须知

详细出处参考:http://www.freezq.cn/article/380.htm java中的split函数和js中的split函数不一样。 Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面...

手绘灿烂
2014/04/22
0
0
关于java中split的使用

之前在http://shukuiyan.iteye.com/blog/507915文中已经叙述过这个问题,但是最近一次笔试中居然有碰到了这个知识点,而且还做错了,囧!学艺不精啊。题目大概是这样的: Java代码 String s...

墨梅
2014/04/28
0
0
JAVA 正则表达式 (超详细)

(PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇。作者是个正真有功力的人,阅读愉快)   在Sun的Java JDK 1.40版本中...

毛朱
2012/10/25
0
1
JAVA正则表达式(详细,转载内容)

在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。   可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表...

TracyZhang
2012/06/25
0
0
Java性能优化之String字符串优化

字符串是软件开发中最重要的对象之一。通常,字符串对象在内存中是占据了最大的空间块,因此如何高效地处理字符串,必将是提高整体性能的关键所在。 1.字符串对象及其特点 Java中八大基本数据...

像风一样i
2018/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

React SSR样式及SEO的实践

前一篇主要记录了一下SSR配置以及结合Redux的使用。这里简单说一下React SSR中样式处理和更优雅的SEO SSR样式 在React客户端渲染,添加样式很容易。写一个css样式文件,在对应组件中引用。标...

前端小攻略
3分钟前
0
0
华为手机太猛!余承东吹的牛今天都实现了

华为是世界上少有的在2B和2C领域同时取得成功公司。如今,华为消费者业务的营收,已经在华为总营收中占据“半壁江山”。 12月27日,华为董事长郭平在新年致辞中披露,预计2018年华为预计实现...

linux-tao
13分钟前
1
0
JSP的Model2模式

整体可以看做是 Request > Control > ( Service > DAO > POJO ) > Response POJO是数据实体类,最佳实践是与数据库物理表相对应,方便用工具进行生成,也易于理解。由于直接与物理表相对应...

max佩恩
22分钟前
0
0
rabbitMQ的使用

RabbitMQ介绍 RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种。 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间...

狼王黄师傅
27分钟前
0
0
面向对象继承

第1章 面向对象 1.1 知识回顾 1.Java中的数据类型 2.引用数据类型String中的方法 3.IO流_读写文件 1.2 面向对象概念回顾 什么叫面向对象编程?有人是这么理解的 也有人说不对,面向对象编程是你...

stars永恒
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部