【问题标题】:Javascript String.split should split binary string with 1 as separator [duplicate]Javascript String.split 应该以 1 作为分隔符分割二进制字符串 [重复]
【发布时间】:2021-06-20 11:44:30
【问题描述】:

因为 "this,is,a,comma,separated,sentence".split(","); 会输出

["this", "is", "a", "comma", "separated", "sentence"]

那么为什么"1000010001001".split("1") 拆分不能按预期工作,即["0000", "000", "00"]。相反,它输出

["", "0000", "000", "00", ""]

【问题讨论】:

  • 它按预期工作。
  • @NinaScholz 解释一下好吗?

标签: javascript arrays binary


【解决方案1】:

当要分割的子串存在于字符串的边缘,或在字符串中连续存在时,这些位置的结果为空字符串。

给定要在字符串中拆分的n 子字符串,结果将始终包含n + 1 字符串。

例如:

aba

a 上拆分时,会产生

['', 'b', '']

因为'' + 'a' + 'b' + 'a' + ''等价于aba的原始字符串。

1000010001001 的工作方式相同。

1000010001001
^    ^   ^  ^
'' + '1' + '0000' + '1' + '000' + '1' + '00' + '1' + ''

一个连续子串被分割的例子,完全相同的逻辑适用于:

console.log('abba'.split('b'));

【讨论】:

猜你喜欢
  • 2020-05-23
  • 2017-07-08
  • 1970-01-01
  • 2012-05-12
  • 2014-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多