我正在尝试做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拆分为数组。所以只需要帮助,非常感谢你:)
答案 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();