【问题标题】:separate string from numeric string pattern将字符串与数字字符串模式分开
【发布时间】:2014-12-05 14:38:32
【问题描述】:

我正在开发 android 项目。我从加速度计和陀螺仪传感器获取传感器值,例如 A1 A2 A3 G1 G2 G3 形式。考虑字符串模式“-553 39 -415 -540 168 -209”。那么如何从这个字符串模式中提取 -553,39,-415 值并分配给变量 A1,A2,A3 并类似地提取 -540,168,-209 和分配给 G1,G2,G3。我已将其转换为 ArrayList 但是当从中读取值时,应用程序崩溃。还有其他想法可以得到结果吗?

使用数组列表:

    String str= "-553 39 -415 -540 168 -209";
    ArrayList<String> myList = new ArrayList<String>(Arrays.asList(str));
               String x1 = myList.get(0);
               String y1 = myList.get(1);
               String z1 = myList.get(2);
               String x2 = myList.get(3);
               String y2 = myList.get(4);
               String z2 = myList.get(5);
               Log.d("Accel",x1 );
               Log.d("Accel",y1 );
               Log.d("Accel",z1 );
               Log.d("Gyro",x2 );
               Log.d("Gyro",y2 );
               Log.d("Gyro",z2 );

【问题讨论】:

    标签: java android regex


    【解决方案1】:

    使用str.split("\\s") 分割字符串。

        String str = "-553 39 -415 -540 168 -209";
        List<String> myList = Arrays.asList(str.split("\\s"));
        String x1 = myList.get(0);
        String y1 = myList.get(1);
        String z1 = myList.get(2);
        String x2 = myList.get(3);
        String y2 = myList.get(4);
        String z2 = myList.get(5);
        Log.d("Accel",x1 );
        Log.d("Accel",y1 );
        Log.d("Accel",z1 );
        Log.d("Gyro",x2 );
        Log.d("Gyro",y2 );
        Log.d("Gyro",z2 );
    

    【讨论】:

    • 除非你解释你在做什么,否则这不是一个答案。 “编码器”一无所知。给他线索。
    • @coder 检查更新的答案,它对我来说很好。
    猜你喜欢
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    相关资源
    最近更新 更多