java中的字符串如何以多个空格为分割

因为设计的是字典程序,字典的txt格式为:
ID 单词 音标 解释
1 a ei,2 art.一(个,件,...)
....
6 a blanket of... 一片或一页的

这个是给定的词典的格式,即单个单词给出音标,词组不给出,现在想要把这个字符串分割成三部分:
ID;单词或词组;音标和解释;
如第一个分隔成:
1
a
ei,2 art.一(个,件,...)

通过观察认为用他们之间两个以上的空格作为分隔符最为方便,即一个空格不分割,两个以上的空格才分隔,分隔成三份。
查了用split的方法,一直只能找到一个空格分隔的。
希望牛人指点怎么分隔。如果有其他方法分隔成以上形式,也请赐教。

下面提供三种分割的方法
核心是 split()函数来分割函数

1. String str = "123 456 789 111";
String [] strArray = str.split("s");
这里的s代表的是一个空格 因为正则表达式\s匹配任意的空白
2.String str = "123 456 789 111";
String [] strArray = str.split(" ");
3.多个空格,不管有多少空格就分隔
String str = "123 456 789 111";
String [] strArray = str.split("s+");
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-06
用正则表达式就好
^\s{2,}$ 即代表两个及以上的空格追问

出现错误java.lang.NumberFormatException:
贴上代码:
String line=new String(input1.nextLine());
//String line=new String("6 a blanket of... 一片或一页的");
String []tokens=line.split("\\s{2,}",3);
for(int i=0;i<tokens.length;i++)
{
System.out.println(tokens[i]);
}
用注释的代码测试ok,不过在文件中读出来后似乎不能正确的识别空格。直接从文件中copy出来贴在分号中也不行,请问如何解决。

追答

我这不是公司的电脑没有eclipse,你查查正则表达式的正确用法,不是这样用的。

追问

呵呵,我知道哪里错了,这样用是可以的,虽然不是很规范。原因在于txt里面的格式不是用空格分割的,而是用制表符'\t',然后用制表符分割就ok了。thanks any way~

追答

学到东西了,呵呵

本回答被提问者采纳
第2个回答  2012-10-06
正则表达式解决匹配问题很精确
第3个回答  2012-10-06
用正则不可以吗

java中split的用法
`split` 方法是String类的一个成员方法,可以直接通过字符串对象来调用。它接受一个正则表达式作为参数,用于定义拆分的规则。例如,按照空格拆分字符串可以这样做:java String str = "Hello World!";String[] result = str.split;此时,`result` 数组将包含两个元素:"Hello" 和 "World!"。二、正...

Java如何分割字符串?
在Java中,分割字符串通常使用split方法。该方法将字符串按照指定分隔符分割,并返回字符串数组,数组中的每个元素为分割后的子串。示例代码如下:首先定义字符串变量str,调用split方法传入分隔符" "(空格)进行分割,结果保存在字符串数组words中。通过for循环遍历输出每个单词。此外,可以使用正则表达式作为...

Java干货 | java分割字符串-专为小白量身定制不看你就亏大喽!_百度知...
首先定义一个字符串变量str,初始化为“今天天气真好”。接着调用String类的split()方法,以字符“天”作为分隔符,将字符串分割成数组。最终,数组中的元素即为分割后的结果,分别为“今”和“气真好”。理解了基本操作后,接下来让我们一起探讨几种常见的字符分割方法。在Java中,主要使用split()方法...

Java中去除字符串空格的几种方法
首先,使用`String.trim()`方法可以去除字符串首尾的空格。此方法仅处理首尾空格,内部不执行任何操作。其次,`str.replace(" ","")`可以移除所有空格,包括首尾和中间的空格,但仅限于一个空格。这种方法相对简单,但可能无法处理连续的多个空格。接着,`str.replaceAll(" +","")`能够匹配并去除所...

Java-字符串切割(split)
总结而言,使用split()方法分割字符串,无需额外的转义符,根据正则表达式进行分割即可。通过合理设置正则表达式,可实现多种需求的字符串分割操作。例如,按空格进行分割:"Hello World"将被分割为"Hello"和"World"两部分。如果使用"."进行分割:"Hello.World"将被分割为"Hello"和"."两部分。对于需要更...

string怎么去掉字符串里面的所有空格
在Java中,字符串操作是编程中的常见任务。处理字符串时,我们可能会遇到需要去除空格的情况。这可以通过多种Java方法实现,例如`trim()`、`replaceAll()`等。随着Java 11的发布,新增了一些功能,如`strip()`、`stripLeading()`和`stripTrailing()`,它们为字符串处理提供了更多选项。虽然`trim()`...

java怎么以空格,英文逗号和句号拆分一个字符串,一个逗号我会,同时三个...
日常开发中,必须保持一个思维,找到问题的关键点。我来对这个问题分析下,java拆分,3个关键字符拆分,split函数也只能一个个拆分,但是如果一起拆分的话势必会照成 拆分完毕没有任何的顺序可言。所以为了保证拆分完的顺序,必须只能对一个关键字符串进行拆分。我们可以把,空额,逗号,句号用。repalce(...

java,split 如何设置多个分隔符?
java中String类的split方法接受正则表达式作为参数,我们可以使用正则表达式实现多个分隔符进行分隔的效果。示例代码如下:import java.util.*;import java.lang.*;import java.io.*; \/* Name of the class has to be "Main" only if the class is public. *\/class Ideone{ public static void ...

Java中split的用法
Java中split主要用于分隔字符串。具体分析如下:1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\\\."),这样才能正确的分隔开,不能用String.split(".")。2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\\\|"),这样才能正确的分隔开,不能用String.split("|"),“.”和“...

Java中去除字符串中所有空格的几种方法
JAVA中去掉空格 1. String.trim()trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间 复制代码 代码如下:String str = " hell o ";String str2 = str.replaceAll(" ", "");System.out.println(str2);3.或者replaceAll(" +",""); 去掉所有空格 4.str = ....

相似回答