android java 数据转型
高洛峰
高洛峰 2016-11-09 15:45:55
0
2
825

我有一部分String 数据格式是这样的

{value=加大 +$5},{value=加加大 +$10},{value=加加加大 +$15}

我想把

加大、加加大、加加加大 存进去 Arraylist name.

$5、$10、$15 存进去 Arraylist price.

请教大神们如何实现这种数据转型?


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
代言
public class test {

    public static void main(String[] args) {
        String str = "{value=加大 +$5},{value=加加大 +$10},{value=加加加大 +$15}";
        test(str);
    }

    public static void test(String str) {
        List name = new ArrayList();
        List price = new ArrayList();
        String[] data = str.split(",");
        for (int i = 0; i 


三叔

可以用正则表达式

class Untitled {
    public static void main(String[] args) {
        String target = "{value=加大 +$5},{value=加加大 +$10},{value=加加加大 +$15}";
        String valueRegex = "[\\u4e00-\\u9fa5]+";//匹配汉字
        String numberRegex = "\\$\\d+";//匹配"$数字"
        Pattern pattern = Pattern.compile(valueRegex);   
        Matcher m = pattern.matcher(target);
        List valueResult = new ArrayList();
        while(m.find()){
            valueResult.add(m.group());
        }
        pattern = Pattern.compile(numberRegex);   
        m = pattern.matcher(target);
        List numberResult = new ArrayList();
        while(m.find()){
            numberResult.add(m.group());
        }
        System.out.println(valueResult);
        System.out.println(numberResult);
    }
}

输出结果

[加大, 加加大, 加加加大]
[$5, $10, $15]


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板