Android 如何按'拆分字符串;新行';?
字符串(str)包含文本文件中的数据,如: 一月 二月 行军 等等 每个单词都在新行上。Android 如何按'拆分字符串;新行';?,android,string,split,Android,String,Split,字符串(str)包含文本文件中的数据,如: 一月 二月 行军 等等 每个单词都在新行上。 我想读取字符串并在新行上分隔每个单词,并将其存储到字符串对象数组中(这将是名为“items”的变量)。实际上,BufferedReader.readLine已经基于新行拆分了输入 那么,您目前拥有: BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); String str while ((str =
我想读取字符串并在新行上分隔每个单词,并将其存储到字符串对象数组中(这将是名为“items”的变量)。实际上,
BufferedReader.readLine
已经基于新行拆分了输入
那么,您目前拥有:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str
while ((str =in.readLine()) != null)
{
items = str.split("\n");
}
in.close();
只需将str
附加到数组中即可
例如,使用infle
文件保存:
items=str.split("\n");
以下程序输出6
(创建的数组列表的大小):
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.util.ArrayList;
课堂测试{
公共静态void main(字符串[]args){
试一试{
ArrayList itms=新的ArrayList();
BufferedReader br=新的BufferedReader(新文件读取器(“填充”);
字符串str;
而((str=br.readLine())!=null)
添加(str);
br.close();
System.out.println(itms.size());
}捕获(例外e){
System.out.println(“例外情况:+e”);
}
}
}
readLine方法已经逐行读取。此字符串中将没有\n
字符
请尝试以下方法:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
class Test {
public static void main (String[] args) {
try {
ArrayList<String> itms = new ArrayList<String> ();
BufferedReader br = new BufferedReader (new FileReader ("infile"));
String str;
while ((str = br.readLine()) != null)
itms.add(str);
br.close();
System.out.println (itms.size());
} catch (Exception e) {
System.out.println ("Exception: " + e);
}
}
}
arraylistitemlist=newarraylist();
BufferedReader in=新的BufferedReader(新的InputStreamReader(url.openStream());
字符串str;
而((str=in.readLine())!=null){
itemList.add(str);
}
in.close();
为此使用Arraylist
ArrayList<String> itemList = new ArrayList<String>();
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
itemList.add(str);
}
in.close();
ArrayList items=new ArrayList();
BufferedReader in=新的BufferedReader(新的InputStreamReader(url.openStream());
字符串str;
而((str=in.readLine())!=null)
{
添加(str.split(“\n”);
}
in.close();
====>检查
ArrayList<String> items= new ArrayList<String>();
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str =in.readLine()) != null)
{
items.add(str.split("\n"));
}
in.close();
for(inti=0;i这是我的代码及其对我的作用
for(int i=0;i<items.size;i++)
{
System.out.println("item name "+items.get(i));
}
私有类下载WebPagetTask扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…URL){
字符串响应=”;
for(字符串url:url){
DefaultHttpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(url);
ArrayList itemList=新建ArrayList();
试一试{
HttpResponse execute=client.execute(httpGet);
InputStream内容=execute.getEntity().getContent();
BufferedReader buffer=新的BufferedReader(
新的InputStreamReader(内容,“iso-8859-1”);
StringBuilder sb=新的StringBuilder();
字符串s=null;
而((s=buffer.readLine())!=null){
项目列表。添加;
}
response=itemList.get(0);
content.close();
}捕获(例外e){
e、 printStackTrace();
}
}
返回响应;
}
@凌驾
受保护的void onPostExecute(字符串结果){
setText(Html.fromHtml(result));
}
}
公共作废阅读网页(查看){
DownloadWebPagetTask=新建DownloadWebPagetTask();
task.execute(新字符串[]{”http://www.yourURL.com" });
}
readWebpage函数是onclick函数我在按钮xml中创建的,如下所示
private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
for (String url : urls) {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
ArrayList<String> itemList = new ArrayList<String>();
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(
new InputStreamReader(content, "iso-8859-1"));
StringBuilder sb = new StringBuilder();
String s = null;
while ((s = buffer.readLine()) != null) {
itemList.add(s);
}
response = itemList.get(0);
content.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(String result) {
textView.setText(Html.fromHtml(result));
}
}
public void readWebpage(View view) {
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { "http://www.yourURL.com" });
}
在我的代码中,我尝试获取第一行,因此我使用itemList.get(0)如果您想获取另一行,只需更改索引,如itemList.get(1)或itemList.get(n)如何按换行分割字符串
我来问这个问题只是想拆分一个字符串,而不是一个文件。所以我将在这里回答这个问题,以供将来的访问者使用
给定
可以使用以下命令将其转换为数组:
String myString = "one/ntwo/nthree";
如果需要,可以将其转换为列表
String myArray[] = myString.split("\n"); // {"one", "two", "three"};
在Android/Java中,这非常简单。请遵循以下步骤:-
假设
List myList = new ArrayList();
Collections.addAll(myList, myArray);
现在,要将其逐行拆分。请使用split()方法。例如:-
String txt="I am Rahul Kushwaha.I am an Android Developer";
输出:-
String txt_split=txt.split("\n");
System.out.println(txt_split);
现在,要获得拆分字符串的长度,请使用lenght()方法
I
am
Rahul
Kushwaha
.
I
am
an
Android
Developer
输出:-
int txt_length=txt_split.length();
System.out.println("text length=",txt_length);
按行删除特定数据。执行以下操作:-
text length=10
输出:-
String[] text_data=txt.split("\n");
System.out.println("Name :",text_data[2]);
System.out.println("Title :",text_data[3]);
System.out.println("Job :",text_data[8]);
希望这能对您有所帮助。谢谢…如果您想保留空白行,那么您可以使用
Name :Rahul
Title :Kushwaha
Job :Android
String[] text_data=txt.split("\n");
System.out.println("Name :",text_data[2]);
System.out.println("Title :",text_data[3]);
System.out.println("Job :",text_data[8]);
Name :Rahul
Title :Kushwaha
Job :Android
String lines[] = givenString.split("\\r?\\n", -1);