【问题标题】:how to split string containing binary into array如何将包含二进制的字符串拆分为数组
【发布时间】:2014-05-10 13:55:09
【问题描述】:

我正在尝试 swa 位,但我有一个字符串,其中包含位于第一个 index[1] =1001 和第二个 index[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);但没有成功

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

【问题讨论】:

  • 请贴出你已有的代码。
  • 看到这个帖子也许stackoverflow.com/questions/1521921/…
  • 我只需要知道我将如何拆分字符串。我应用了这个,但编译器要求用长度替换
  • 再次要求更改长度。我不知道为什么会这样。我的编译器是 ecilipse。
  • 你想交换字符串中索引 2 和 3 的字符吗?

标签: java


【解决方案1】:

尝试以下方法来拆分您的字符串:

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

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

Character array[] = gf.toCharArray();

【讨论】:

  • i62.tinypic.com/so4agw.jpg 我已将图片无法在数组类型字符串上调用 toCharArray() 放置。
  • OK 所以 gf 是一个 String[],以为是单个 String,描述它的值...例如 gf[0] 的值是多少?
  • 00001101 那个二进制文件
  • 好的,它是二进制的字符串表示。而且你有一些二进制文件的字符串表示数组。
  • 是遗传交叉,是否需要将gf的所有元素交叉并存入array[];
【解决方案2】:

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

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

【讨论】:

  • 这会遍历整个字符串吗?
  • 给我们一个输入变量和预期输出的例子
  • 我已经编辑了代码。我只需要将字符串拆分为数组。我不知道为什么编译器无法识别它:String array[] = gf.split("\\", -1);
猜你喜欢
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2014-08-23
  • 2020-10-19
  • 2019-07-09
  • 2021-04-05
  • 2012-07-29
相关资源
最近更新 更多