将ArrayList的一部分分配给字符串

时间:2017-03-07 22:41:21

标签: java android arraylist

我有一个ArrayList,我使用以下代码访问片段:

getData = getActivity().getIntent().getExtras().getString("importEvents");
List<String> myList = new ArrayList<String>(Arrays.asList(getData.split(",")));
myList.remove(0);
myList.remove(myList.size() - 1);

输出如下

Event1 (2017-03-13) 
Event2 (2017-03-14)

每个事件都在第二个)之后的新行开始,但是我能够将第一个括号之前的所有内容保存为单独的字符串,以便将其分配给CardView中的另一个TextView吗?

2 个答案:

答案 0 :(得分:1)

myList.get(0).substring(0, myList.get(0).indexOf('('))

答案 1 :(得分:0)

请在下面找到一些可根据您的要求进行转换的样本

    String myString = "Event1 (2017-03-13) Event2 (2017-03-14)";
    myString = myString.replaceAll(" \\(", "\\(");

    List<Event> events = Arrays.asList(myString.split(" ")).stream()
            .map(event -> new Event(event.split("\\(")[0], event.split("\\(")[1].replaceAll("\\)", "")))
            .collect(Collectors.toList());

    System.out.println(events);

创建POJO,事件类

    public class Event {

private String name;
private String date;

Event(String name, String date) {
    this.name = name;
    this.date = date;
}

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getDate() {
    return date;
}
public void setDate(String date) {
    this.date = date;
}

public String toString() {
    return this.name + "\t" + this.date;
}

}

示例输出

[Event Name - Event1 Date - 2017-03-13 , Event Name - Event2 Date - 2017-03-14 ]

这将让您了解如何将字符串拆分为事件和事件日期