我想读取本地txt文件并读取此文件中的文本.之后,我想将整个文本拆分为Strings,如下例所示.
示例:假设文件包含 -
abcdef
ghijkl
aededd
ededed
ededfe
efefeef
efefeff
......
......
Run Code Online (Sandbox Code Playgroud)
我想将此文本拆分为字符串
s1 = abcdef+"\n"+ghijkl;
s2 = aededd+"\n"+ededed;
s3 = ededfe+"\n"+efefeef+"\n"+efefeff;
........................
Run Code Online (Sandbox Code Playgroud)
我的意思是我想在空行上分割文字.
我知道如何阅读文件.我想要帮助将文本拆分为字符串
您可以将字符串拆分为数组
String.split();
Run Code Online (Sandbox Code Playgroud)
如果你想通过新线路来实现它
String.split("\\n\\n");
Run Code Online (Sandbox Code Playgroud)
UPDATE*
如果我明白你在说什么,那么约翰.
那么你的代码基本上就是
BufferedReader in
= new BufferedReader(new FileReader("foo.txt"));
List<String> allStrings = new ArrayList<String>();
String str ="";
while(true)
{
String tmp = in.readLine();
if(tmp.isEmpty())
{
if(!str.isEmpty())
{
allStrings.add(str);
}
str= "";
}
else if(tmp==null)
{
break;
}
else
{
if(str.isEmpty())
{
str = tmp;
}
else
{
str += "\\n" + tmp;
}
}
}
Run Code Online (Sandbox Code Playgroud)
可能是你要解析的东西.
allStrings是所有字符串的列表.
小智 6
我会建议更通用的正则表达式:
text.split("(?m)^\\s*$");
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它将在任何行尾约定上正常工作,并且还将处理相同的空行和仅空格行。
即使有用数据之间有 2 个以上的空行,下面的代码也能工作。
import java.util.regex.*;
// read your file and store it in a string named str_file_data
Pattern p = Pattern.compile("\\n[\\n]+"); /*if your text file has \r\n as the newline character then use Pattern p = Pattern.compile("\\r\\n[\\r\\n]+");*/
String[] result = p.split(str_file_data);
Run Code Online (Sandbox Code Playgroud)
(我没有测试代码,所以可能会有错别字。)
归档时间: |
|
查看次数: |
13073 次 |
最近记录: |