官方文档链接: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.
  1. 字符串首部的每个空格都转成了一个空串
  2. 中间的多个空格中,多余的每个空格都转成了一个空串。
  3. 末尾的多个空格全都去掉了。

因此如果你已经知道需要处理的字符串首部没有空格,中间每个之间只有一个空格,那么用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.
  1. 首部的空格没有全部去掉,其中的一个空格变成了一个空串。
  2. 中间和末尾的正常分割成数组。

因此如果知道字符串首部没有空格的情况下,可以用这种方法分割多个空格。(比较鸡肋,不建议用)。

要想完全不要空格,最好的方法是先去掉字符串首尾的空格,再用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方法的更多相关文章

  1. 【转载】C#中将字符串分割成字符数组

    在C#中字符串类型String是由一系列的单个字符组合而成,其实可以通过字符串String对象ToCharArray()方法来将字符串中的元素逐一存在数据类型为Char的一维数组中. 例如将字符str ...

  2. Java将一段逗号分割的字符串转换成一个数组

    String 类:String 类代表字符串.Java 程序中的所有字符串字面值都作为此类的实例实现.字符串是常量,它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象是 ...

  3. 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里

    JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...

  4. js 字符串分割成字符串数组 遍历数组插入指定DOM里 原生JS效果

    使用的TP3.2 JS字符串分割成字符串数组 var images='{$content.pictureurl} ' ;结构是这样 attachment/picture/uploadify/20141 ...

  5. 剑指offer 1,输入一个字符串,将字符串的空格替换成%20

    剑指offer 1,输入一个字符串,将字符串的空格替换成%20    function replaceSpace(str){      return str.replace(/\s/g,"% ...

  6. split 将字符串分割成字符串数组

    list_name = list_name.split(","); split() 方法用于把一个字符串分割成字符串数组. 语法 stringObject.split(separa ...

  7. php把字符串指定字符分割成数组

    <?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var); ?> $var=ex ...

  8. php 逗号 explode分割字符串 或 implode组装成字符串

    php 逗号 分割字符串 介绍两个函数给你 <?php //利用 explode 函数分割字符串到数组 $source = "hello1,hello2,hello3,hello4,h ...

  9. The four Day 给出一个平衡字符串,将它分割成尽可能多的平衡字符串

    """ 在一个「平衡字符串」中,'L' 和 'R' 字符的数量是相同的. 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串. 返回可以通过分割得到的平衡字符串的 ...

随机推荐

  1. 【MongoDB】查询字段对应的数组中包含某个值

    在MongoDB操作的时候,我们可能会遇到查询[字段对应的数组中包含某个值]的数据,查询语句如下,假设表名为user. 示例1 数据 { id: 1, state_arr: [ "123&q ...

  2. zabbix(12)使用Grafana

    一.Grafana介绍 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知.它主要有以下六大特点: 1.展示方式:快速灵活的客户端图表,面板插 ...

  3. TopCoder SRM 582 Div 1 - Problem 1000 SemiPerfectPower

    首先我们可以把答案差分,那么我们只需要求出\(1\)~\(x\)范围内的满足条件的数即可. 题目要求的应该是这个东西的个数: \(l \leq a*b^c \leq r(1 \le a < b) ...

  4. 区间最值问题(RMQ)

    题目描述 给出N个数,求第a个数到第b个数之间最大的数减去最小的数的结果 程序输入说明 N(N小于100,000),M(M小于100,000)接下来有N个数接下来M组范围,所有数均在[0,231-1] ...

  5. CodeForces - 1183E Subsequences (easy version) (字符串bfs)

    The only difference between the easy and the hard versions is constraints. A subsequence is a string ...

  6. 每天一个linux命令:top命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...

  7. Linux 端口被进程多次占用,LINUX最好用查看端口占用并杀死(kill)的方式

    一.端口被占用 二.查看进程 三.并杀死占用端口的进程,并重启服务,状体正常 补充: 根据指定端口查看 wd@wd:~/workspace/cat$ sudo netstat -tlnp|grep 6 ...

  8. Logback 输出 JPA SQL日志 到文件

    Logback 输出 JPA SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Sprin ...

  9. 【Oracle/Maven】Maven导入oracle11g 自携带jdbc驱动包ojdbc6.jar到本地库

    Maven需要下载解压并添加到classpath,如果不明可以参考https://www.cnblogs.com/xiandedanteng/p/11403480.html 然后在命令行窗口执行: m ...

  10. 【转】nodejs获取post请求发送的formData数据

    前端post请求发送formData的类型数据时,需要服务端引入中间件body-parser,主要原因是post请求发送的数据,是在http的body里面,所以需要进行解析,否则获取不到数据(数据为空 ...