Java中将字符串用空格分割成字符串数组的split方法
官方文档链接:public String[] split(String regex)
本文以空格作为分割串。
CaseOne
import java.util.Scanner;
public class CaseOne {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String oldstr = sc.nextLine(); // 需要处理的字符串
sc.close();
String cut = " "; // 分割串,此处为一个空格
String[] newStr = oldstr.split(cut); // 分割成数组
for (String string : newStr) {
System.out.println(string); // 输出
}
}
}
Case 1.1:
- 输入
I am wowpH.
- 输出
I
am
wowpH.
- 字符串首部的每个空格都转成了一个空串。
- 中间的多个空格中,多余的每个空格都转成了一个空串。
- 末尾的多个空格全都去掉了。
因此如果你已经知道需要处理的字符串首部没有空格,中间每个之间只有一个空格,那么用split()方法就比较方便。如Case 1.2所示:
Case 1.2:
- 输入
I am wowpH.
- 输出
I
am
wowpH.
Case 1.2就能正常分割成字符串数组。缺点是不够灵活。无法处理多个空格的情况。
那如果有多个空格怎么处理呢。请看下文:
当字符串中空格的个数和位置都不确定时,可以考虑将分割串cut改变一下。如下所示:
CaseTwo
import java.util.Scanner;
public class CaseTwo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String oldStr = sc.nextLine(); // 需要处理的字符串
sc.close();
String cut = "\\s+"; // 分割串,此处为至少一个空格
String[] newStr = oldStr.split(cut); // 分割成数组
for (String string : newStr) {
System.out.println(string); // 输出
}
}
}
Case 2.1:
- 输入(同Case 1.1)
I am wowpH.
- 输出
I
am
wowpH.
- 首部的空格没有全部去掉,其中的一个空格变成了一个空串。
- 中间和末尾的正常分割成数组。
因此如果知道字符串首部没有空格的情况下,可以用这种方法分割多个空格。(比较鸡肋,不建议用)。
要想完全不要空格,最好的方法是先去掉字符串首尾的空格,再用CaseTwo的方法。代码如下:
CaseThree
import java.util.Scanner;
public class CaseThree {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String oldStr = sc.nextLine();// 需要处理的字符串
sc.close();
oldStr = oldStr.trim();// 去掉首尾空格
String cut = "\\s+";// 分割串,此处为至少一个空格
String[] newStr = oldStr.split(cut);// 分割成数组
for (String string : newStr) {
System.out.println(string);
}
}
}
Case 3.1:
- 输入(同Case 1.1)
I am wowpH.
- 输出
I
am
wowpH.
完美解决多个空格的问题。
Java中将字符串用空格分割成字符串数组的split方法的更多相关文章
- 【转载】C#中将字符串分割成字符数组
在C#中字符串类型String是由一系列的单个字符组合而成,其实可以通过字符串String对象ToCharArray()方法来将字符串中的元素逐一存在数据类型为Char的一维数组中. 例如将字符str ...
- Java将一段逗号分割的字符串转换成一个数组
String 类:String 类代表字符串.Java 程序中的所有字符串字面值都作为此类的实例实现.字符串是常量,它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象是 ...
- 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里
JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...
- js 字符串分割成字符串数组 遍历数组插入指定DOM里 原生JS效果
使用的TP3.2 JS字符串分割成字符串数组 var images='{$content.pictureurl} ' ;结构是这样 attachment/picture/uploadify/20141 ...
- 剑指offer 1,输入一个字符串,将字符串的空格替换成%20
剑指offer 1,输入一个字符串,将字符串的空格替换成%20 function replaceSpace(str){ return str.replace(/\s/g,"% ...
- split 将字符串分割成字符串数组
list_name = list_name.split(","); split() 方法用于把一个字符串分割成字符串数组. 语法 stringObject.split(separa ...
- php把字符串指定字符分割成数组
<?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var); ?> $var=ex ...
- php 逗号 explode分割字符串 或 implode组装成字符串
php 逗号 分割字符串 介绍两个函数给你 <?php //利用 explode 函数分割字符串到数组 $source = "hello1,hello2,hello3,hello4,h ...
- The four Day 给出一个平衡字符串,将它分割成尽可能多的平衡字符串
""" 在一个「平衡字符串」中,'L' 和 'R' 字符的数量是相同的. 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串. 返回可以通过分割得到的平衡字符串的 ...
随机推荐
- yum安装错误记录
原因:使用yum安装libvirt以后,后续没有使用yum -remove 包名去移除这个包,接着使用源码安装了libvirt服务,当我卸载源码安装的libvirt以后,通过yum重新安装libvir ...
- Wireshark 用户指南(3.1.0)
目 录 Preface 序 1. Foreword 前言 2. Who should read this document? 谁适合读该文档? 3. Acknowledgements 致谢 4. Ab ...
- 【原】Python基础-字典
字典是Python唯一内建的映射类型.键可以是数字,字符串和元组. 1 字典的创建 方法一:直接创建 例如: >>> dict = {'key1':'value1', 20: 80} ...
- java面向对象-进度2
1.面向对象的五个基本原则 三个基本元素: 1. 封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象, ...
- [i.MX]飞思卡尔IMX6处理器的GPIO-IOMUX_PAD说明
在linux或android系统中,假如我们要配置飞思卡尔IMX6处理器的GPIO管脚,比如是GPIO_19这个管脚,那么要像这样: #define MX6Q_PAD_GPIO_19__GPIO_4_ ...
- Python Log Viewer
https://pythonhosted.org/logview/
- Ionic4.x 新增底部 tabs 页面
1.创建 tab4 模块 ionic g page tab4 2.修改根目录里 app-routing.module.ts 文件里面的路由配置,去掉默认增加的路由 3.tabs.router.modu ...
- c# 扫描局域网IP列表的几种方法
很多软件都有获知局域网在线计算机IP的功能,但是在.net怎么实现呢,有好多方法, 下面我给大家介绍几种,供大家参考. 1.微软社区上介绍了使用Active Directory 来遍历局域网 利用Di ...
- 123457123456#0#-----com.twoapp.TruckCarRun01--前拼后广--大卡车游戏jiemei
com.twoapp.TruckCarRun01--前拼后广--大卡车游戏jiemei
- Linux自动获取IP地址 重启不会消失
网络设置 root用户登录 编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 将ONBOOT=no 改为 ONBOOT=yes 并保存 重启network ...