对于在ADODB中反序列化值的特殊情况,如何将PHP preg_split移植到Java? [英] How can I port PHP preg_split to Java for the special case of unserializing a value in ADODB?

查看:99
本文介绍了对于在ADODB中反序列化值的特殊情况,如何将PHP preg_split移植到Java?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要移植此函数以将ADODB中的值反序列化为Java。

I need to port this function for unserializing a value in ADODB to Java.

        $variables = array( );
        $a = preg_split( "/(\w+)\|/", $serialized_string, -1, PREG_SPLIT_NO_EMPTY |   PREG_SPLIT_DELIM_CAPTURE );
        for( $i = 0; $i < count( $a ); $i = $i+2 ) {
            $variables[$a[$i]] = unserialize( $a[$i+1] );
        }

我有一个库可以用php方法反序列化值,但是我需要帮助移植到preg_split上。

I have a library to unserialize the values the php way, but I need help on porting over the preg_split. What would this regex look like in Java?

推荐答案

等效的Java代码:


import java.util.List;
import java.util.ArrayList;

// Test
String serialized_string = "foo|bar|coco123||cool|||";

// Split the test
String[] raw_results=serialized_string.split("\\|");// Trailing empty strings are removed but not internal ones

// Cleansing of the results
List<String> php_like_results = new ArrayList<String>();
for(String tmp : raw_results) {
    if (tmp.length()>0) {
       php_like_results.add(tmp);
    }
}

// Output results
System.out.println(php_like_results);

这将产生:
[foo,bar,coco123,酷]

这篇关于对于在ADODB中反序列化值的特殊情况,如何将PHP preg_split移植到Java?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆