我是android新手,我需要使用“:”和space分割字符串。 因为字符串格式为(例如:晚上08:30)
如果它是在08:30:PM,我可以使用“:”轻松地将其拆分,但是这里也有空间。
代码:
if (!(mTime == null)) {
String timme = mTime;
String[] time = timme.split(":");
int hour = Integer.parseInt(time[0].trim());
int min = Integer.parseInt(String.valueOf(time[1].split("")).trim());
mTimePicker.setHour(hour);
mTimePicker.setMinute(min);
}
我在 int min = Integer.parseInt(String.valueOf(time [1] .split(“”))。trim());
上遇到以下错误java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aviz.www.reminder/com.aviz.www.reminder.Activity_Classes.CreateAlarm}: java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@6380103"
谁能帮我解决这个问题。
答案 0 :(得分:1)
最好的方法是使用DateFormat
在您的情况下,类似:
if (!(mTime == null)) {
//08:30 PM
DateFormat format = new SimpleDateFormat("h:m a", Locale.ENGLISH);
//08:30:PM
//DateFormat format = new SimpleDateFormat("h:m:a", Locale.ENGLISH);
Date date = format.parse(string);
//now you can do whatever you want with the date
}
答案 1 :(得分:0)
这将基于Java中的空格进行拆分。您可以使用空格
String[] words=s1.split("\\s");
并使用它来分割“:”
String namepass[] = strLine.split(":");
答案 2 :(得分:0)
让我们谈谈这段代码
int min = Integer.parseInt(String.valueOf(time[1].split("")).trim());
它需要time
数组(它是字符串)中的秒数
之后,它将用空字符串和
time[1].split("")
将返回包含1个项目的字符串数组。
String.valueOf(String[] array)
将返回类似“ [Ljava.lang.String; @ 6380103]”的内容 trim方法不会更改此字符串,并且该字符串不是有效数字,所以您遇到了异常。
我的建议是避免复杂易懂的代码。
我建议使用日期格式从字符串中解析时间
答案 3 :(得分:0)
if (!(mTime == null)) {
String timme = mTime;
timme=timme.replace( " ","");
String[] time = timme.split(":");
int hour = Integer.parseInt(time[0].trim());
int min = Integer.parseInt(String.valueOf(time[1].split("")).trim());
mTimePicker.setHour(hour);
mTimePicker.setMinute(min);
}