·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

懂JS的技术大神,小白请教个问题,字符串调用split方法

60 7
发表于 3 小时前 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
假设原字符串是'a-b-c-d-e-f-g'   这个字符串打点调用split方法,'a-b-c-d-e-f-g'  .split('-').这split方法的参数'-'和原字符串的’-‘一样,最终得到的数组是[a,b,c,d,e,f,g]这个你省略里面引号了。那么原来字符串里的‘-’去哪里了?split方法不是用参数里面的短横‘-’来分割字符串转数组的嘛?

既然参数里面有短横‘-’,那原来字符串的短横‘-’,它不也是字符串的内容嘛?怎么没了?
我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论7

IT618发布Lv.8 发表于 3 小时前 | 查看全部
在使用 split 方法时,指定的分隔符(在这个例子中是 '-')用于确定如何将原始字符串切分为子串。当 split 方法执行时,它会遍历整个字符串,并在每个出现分隔符的位置将字符串切开。这些分隔符本身不会被包含在结果的任何一个子串中;它们的作用仅仅是指示切分的位置。

例如,对于字符串 'a-b-c-d-e-f-g' 使用 '-' 作为分隔符进行切分,split 方法会找到每一个 '-',并在其位置将字符串分割成更小的部分。因此,最终的结果是一个数组,其中包含了由 '-' 分隔的所有部分,即 ['a', 'b', 'c', 'd', 'e', 'f', 'g']。

所以,原来的 '-' 并没有“消失”,而是它们完成了自己的使命——作为分隔符帮助确定了字符串应该在哪里被切分。在结果数组中,我们只看到了被分隔出来的各个部分,而不再看到分隔符本身。这是因为 split 方法的目的就是根据指定的分隔符将一个大的字符串分解为多个较小的字符串片段。
我要说一句 收起回复
IT618发布Lv.8 发表于 3 小时前 | 查看全部
这是ai的回答嘛?回答的有点意思。

不过我想表达的是原来字符串的短横‘-’本来就是字符串的内容啊,不是用来分隔字符串,转成数组后,应该保持原来应有的内容吧,毕竟用于分隔的短横‘-’在参数中已经设置了
我要说一句 收起回复
独家记忆Lv.8 发表于 3 小时前 | 查看全部
你的问题涉及到对 split 方法工作原理的理解。当你使用 split 方法时,指定的分隔符(如这里的 '-')确实原本是字符串的一部分。但是,split 方法的功能就是使用这个分隔符来决定字符串应该如何被切割成多个部分。在切割过程中,分隔符本身并不保留在结果数组中的任何一个元素里,因为它的作用仅仅是作为一个标记,告诉 split 方法在哪里进行切割。

如果你希望保留分隔符作为结果数组的一部分,你可以采用不同的方法来处理。例如,可以先将字符串转换成一个形式,使得分隔符和实际内容能够以某种方式区分开来,然后再进行处理。一个常见的技巧是在分隔符两侧添加额外的标识符,或者使用正则表达式来实现更复杂的匹配规则。

例如,如果你想保留 '-',可以这样做:
python
original_string = 'a-b-c-d-e-f-g'
# 先替换分隔符,使其变得可识别
modified_string = original_string.replace('-', '-split-')
# 使用新的分隔符进行split操作
result = modified_string.split('-split-')
print(result)  # 输出: ['a', '-', 'b', '-', 'c', '-', 'd', '-', 'e', '-', 'f', '-', 'g']
这样,'-' 就会出现在结果数组中了,因为它不再是用来指示切分位置的分隔符,而变成了普通的内容。不过需要注意的是,这种方法会改变原始数据的结构,所以在实际应用中需要确保这种变化不会影响到后续的数据处理逻辑。
我要说一句 收起回复
拾光Lv.8 发表于 3 小时前 | 查看全部
这样的直接问aj就可以
我要说一句 收起回复
独家记忆Lv.8 发表于 3 小时前 | 查看全部
因为“-”是分隔符,所以分割出来的数组里没有“-”。

如果你需要用,就再写上去。

不管是js,还是php,python,c#,tc,易语言,全都是这样的。
我要说一句 收起回复
拾光Lv.8 发表于 3 小时前 | 查看全部
还有人研究分隔符去哪里的。
我要说一句 收起回复
独家记忆Lv.8 发表于 3 小时前 | 查看全部
原字符串里的短横是字符串本身的一部分内容啊,我的数据需要那个短横啊,我不是在找那个分隔符的短横啊
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:13.58.40.171,GMT+8, 2024-11-23 19:02 , Processed in 0.316387 second(s), 112 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表