Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何按'拆分字符串;新行';?_Android_String_Split - Fatal编程技术网

Android 如何按'拆分字符串;新行';?

Android 如何按'拆分字符串;新行';?,android,string,split,Android,String,Split,字符串(str)包含文本文件中的数据,如: 一月 二月 行军 等等 每个单词都在新行上。 我想读取字符串并在新行上分隔每个单词,并将其存储到字符串对象数组中(这将是名为“items”的变量)。实际上,BufferedReader.readLine已经基于新行拆分了输入 那么,您目前拥有: BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); String str while ((str =

字符串(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);