本文介绍了对于在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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!