如何将包含二进制的字符串拆分为数组

时间:2014-05-10 13:55:10

标签: java

我正在尝试做swa比特,但我的字符串包含二进制文件,第一个索引[1] = 1001,第二个索引[2] = 0010

我想换掉像

这样的位
1001 and 0010 after bits swaps it becomes 1010 and 0001 and so on. 


for example
     A (array in string)
1.     1001
2.     0011
3.     1010
4.      0101
.
.
.    
now I want to swap the 1st two bits of 1 st string with 2nd string last 2 bits then 1st strings bit with 3rd so on
result :
     1011
     0001
     1000
     1011

我也申请了这个:         String array[] = gf.split("\\", -1);但未成功

我只需将String拆分为数组。所以只需要帮助,非常感谢你:)

2 个答案:

答案 0 :(得分:0)

如果您的字符串将二进制数据表示为{0,1}的字符串,那么要交换索引数组中所有字符串上的每个字符,其中一个贪婪的解决方案是为所有字符串运行replaceAll 3次(一个用于临时)

for (String s: index)
    s = s.replaceAll("1","2").replaceAll("0","1").replaceAll("2","1");

答案 1 :(得分:0)

请尝试以下方法分割您的字符串:

String array[] = gf.split("(?!^)");

如果你可以使用Character [],你可以这样做:

Character array[] = gf.toCharArray();