如何使用“:”和“空格”分割字符串?

时间:2018-06-28 14:48:59

标签: android

我是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"

谁能帮我解决这个问题。

4 个答案:

答案 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);
                }