我有一个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吗?
答案 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
]
这将让您了解如何将字符串拆分为事件和事件日期