前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >split的坑-字符串分割

split的坑-字符串分割

作者头像
贺贺V5
发布2018-08-21 12:11:51
1.6K0
发布2018-08-21 12:11:51
举报
文章被收录于专栏:贺贺的前端工程师之路

昨天在调代码的时候,遇到了一个很大的坑儿,让我不得不记录下来,莫非是我写js代码太久了的缘故?大概也许可能吧...

好了,让我们来看看这个坑儿吧,那就是字符串分割split方法。这个方法无论是在Java code还是在js code中都是有这个方法的,但是用法,让我很难过。谁让我只是半吊子后端呢?

js code

在js code 中可以这样使用:

代码语言:javascript
复制
> var test = "11^34#223^[111*34567]^,56";
> test.split("^");
< ["11", "34#223", "[111*34567]", ",56"]

也就是说,直接想要分割什么,直接写上就行。

Java code

在Java code 中如果也是直接这样写的话:

代码语言:javascript
复制
String[] signInfos = sign.split("^");

这样做的结果是不能将字符串进行分割的。结果如下图:

未能分割

查找资料后,得知,Java code 中的字符串分割之不能直接这样写的,必须添加转义符- \\(两个斜杠)。

多个符号进行分割

  • Java code
代码语言:javascript
复制
> String address="上海^上海市@闵行区#吴中路";
> String[]splitAddress=address.split("\\^|@|#");
< 上海上海市闵行区吴中路
  • js code
代码语言:javascript
复制
> var test = "11^34#223^[111*34567]^,56";

// 一个字符 `#`
> test.split(/[#]/);
< ["11^34", "223^[111*34567]^,56"]

// 两个字符 `*`、`#`
> test.split(/[*#]/);
< ["11^34", "223^[111", "34567]^,56"]

// 三个字符 `^`、`*`、`#`
// ^ 需要使用转移符
> test.split(/[\^*#]/);
< ["11", "34", "223", "[111", "34567]", ",56"]

附加1

在这里稍微整理一下,Java code 中需要添加转移符的分割的字符。

  • |
  • .
  • ^

然而像@或者,(逗号)这样的字符是不需要使用转义符的。

附加2

js split 使用

  • 定义和用法 split() 方法用于把一个字符串分割成字符串数组。
  • 语法 stringObject.split(separator,howmany)
  • 参数 描述
    • separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
    • howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.10.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • js code
  • Java code
  • 多个符号进行分割
    • 附加1
    • 附加2
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档