java使用replace和split将键值对对象转换为数组

将[{key=1607522588579_23515, url=/imgs/202012092203-1622.jpg, percent=100, status=success}]
类型的数字转换为数组
作用类似于js代码的正则转换


    public static void main(String[] args) {

        String element = "[{key=1607522588579_23515, url=/imgs/202012092203-1622.jpg, percent=100, status=success}]";
        String itemStr = element.replaceAll(" ","");
        String replace = itemStr.replace("[", "");
        String replace1 = replace.replace("]", "");
        String s = replace1.replaceAll("[$^|]", "");
        String[] split = s.split(",");
        System.out.println(split[1]);
        String[] split1 = split[1].split("/");
        System.out.println(split1[2]);
    }

/**
 * element
 *  [{key=1620454666898_48653,url=/imgs/202105081417-2848.png,percent=100,status=success}]
 * */
 function imagesToArrayStr(element){
	var itemStr = ''
	if (element != '[]'&&element != ''&&element != undefined&&element != null) {
	    var str2 = element.replace(/\s*/g,"");
	    var str3 = str2.replace('[','');
	    var str4 = str3.replace(']','');
	    var str = str4.replace(/^\"|\"$/g,'');
	    var arr = str.split('","');
	
	    arr.forEach(ele => {
	        var str = ele.replace(/^\"|\"$/g,'');
	        var str2 = str.replace(/=/g,'":"');
	        var str3 = str2.replace(/,/g,'","');
	        var str4 = str3.replace('{','{"');
	        var str5 = str4.replace('}','"}');
	        itemStr = JSON.parse(str5).url
	    });
	
	}else{
	    itemStr = ''
	}
	return itemStr
}

console.log(imagesToArrayStr("[{key=1620454666898_48653,url=/imgs/202105081417-2848.png,percent=100,status=success}]"))
///imgs/202105081417-2848.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在哪个数据库中进行子查询呢?不同的数据库可能有不同的语法。以 MySQL 为例,可以使用 GROUP_CONCAT 函数将子查询结果转换为一个逗号分隔的字符串,然后使用 FIND_IN_SET 函数将其转换数组。 例如,假设有一个 orders 表和一个 customers 表,要查询每个顾客的订单数量,并将其转换数组。可以使用以下 SQL 语句: ``` SELECT customers.name, GROUP_CONCAT(orders.order_id ORDER BY orders.order_id) AS order_ids FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY customers.customer_id; ``` 这将返回一个包含每个顾客名称和订单 ID 数组的结果集。要将订单 ID 数组转换为实际的数组,可以使用以下 SQL 语句: ``` SELECT name, SUBSTRING_INDEX(SUBSTRING_INDEX(order_ids, ',', numbers.n), ',', -1) AS order_id FROM (SELECT customers.name, GROUP_CONCAT(orders.order_id ORDER BY orders.order_id) AS order_ids FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY customers.customer_id) AS t CROSS JOIN (SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) AS numbers WHERE CHAR_LENGTH(order_ids) - CHAR_LENGTH(REPLACE(order_ids, ',', '')) >= numbers.n - 1; ``` 这将返回一个包含每个订单 ID 的结果集,其中每个订单 ID 都是一个单独的行。在这个例子中,使用了一个名为 numbers 的虚拟表,其中包含了要查询的数组的最大长度。如果数组长度较小,可以添加更少的数字。如果数组长度较大,则需要添加更多数字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值