`
lujar
  • 浏览: 516601 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

xjl:关于String类的split方法

阅读更多

虽然使用正则表达式能很好的进行字符串的解析、提取、替换,但是对于一些简单的应用,使用 String 类提供的一些方法就可以很好的完成,最突出的就是 split 方法。 <o:p></o:p>

split 方法能够很方便的将字符串按照一定的规则拆分开。 <o:p></o:p>

比如对于下面的字符串: <o:p></o:p>

Tom,Jane,Tony,Elva,Gigi<o:p></o:p>

只要调用如下的代码就可以将各个名字提取出来: <o:p></o:p>

String value = "Tom,Jane,Tony,Elva,Gigi";

String[] names = value.split(",");

for(int i=0,n=names.length;i<n;i++)

{

     System.out.println(names[i]);

}

运行结果: <o:p></o:p>

Tom

Jane

Tony

Elva

Gigi

<o:p> </o:p>

看到这个运行结果,很多人都认为 split 方法就是按照给定的字符串对字符串进行拆分,知道碰到了下面的问题。

有一个字符串:中国 . 北京 . 海淀 . 学院路。请解析此字符串,并打印输出“中国 北京 海淀 学院路 ”。

于是写代码如下: <o:p></o:p>

String value = " 中国 . 北京 . 海淀 . 学院路 ";

String[] names = value.split(".");

for(int i=0,n=names.length;i<n;i++)

{

     System.out.print(names[i]+" ");

}

运行结果: <o:p></o:p>

<o:p> </o:p>

对,没看错!没有任何输出! <o:p></o:p>

让我们来看看 split 方法的方法签名吧: <o:p></o:p>

public String[] split(String regex)

这里的参数的名称是 regex ,也就是 Regular Expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,看了 split 方法的实现代码就更坚定了我们的信心: <o:p></o:p>

public String[] split(String regex, int limit) {

     return Pattern.compile(regex).split(this, limit);

}

split 的实现直接调用的 Matcher 类的 split 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。 <o:p></o:p>

修改代码如下: <o:p></o:p>

private static void split2()

{

     String value = " 中国 . 北京 . 海淀 . 学院路 ";

     String[] names = value.split("\\.");

     for(int i=0,n=names.length;i<n;i++)

     {

         System.out.print(names[i]+" ");

     }

}

运行结果 <o:p></o:p>

中国 北京 海淀 学院路 <o:p></o:p>

 
分享到:
评论

相关推荐

    xjl_fullstack:前端 全栈学习

    "xjl_fullstack:前端 全栈学习" 的标题和描述表明这是一个关于前端和全栈开发的学习资源,可能是某个教程、笔记或者代码仓库。尽管没有提供具体的压缩包内容,我们可以根据标签"HTML"以及文件名"xjl_fullstack-main...

    邮件发送

    该类可能包含了上述步骤的代码实现,例如,它可能包含一个方法如`sendEmail(String from, String to, String subject, String body)`,该方法使用JavaMail API来发送邮件。 在实际应用中,`Mail.java`可能还处理了...

    hibernate实体映射文件字段设置默认值

    &lt;class name="com.bulletin.bean.Bulletin" table="BULLETIN" schema="XJL" dynamic-insert="true" dynamic-update="true"&gt; &lt;!-- 映射类的属性 --&gt; ``` 这里的`&lt;class&gt;`标签表示映射到特定的Java类,其属性`...

    教育考试网全站代码

    通过对这些模块的深入研究,可以了解到教育考试网是如何实现其功能的,也可以为其他教育类网站的开发提供参考。同时,这也是一个学习Web开发、数据库设计、前后端交互、安全性等多个方面知识的好案例。不过,由于...

    小精灵 眼护士 V2

    国际下载:http://colgoo.com/soft/xjl.rar 国内下载:http://u.115.com/file/dnai88bc 附:V1版本功能 1、设置提醒间隔 2、自定义强制退出 3、屏幕锁定60分钟 4、锁定时屏幕半透明蓝色 并逐渐变淡 5、锁定屏幕是...

    小精灵眼护士 v2

    国际下载:http://colgoo.com/soft/xjl.rar 国内下载:http://u.115.com/file/dnai88bc 附:V1版本功能 1、设置提醒间隔 2、自定义强制退出 3、屏幕锁定60分钟 4、锁定时屏幕半透明蓝色 并逐渐变淡 5、锁定屏幕是...

    MACD区间最高价最低价通达信指标公式源码.doc

    MACD指标公式源码解析 MACD(Moving Average Convergence Divergence,均线汇聚离散指标)...这个MACD指标公式源码可以帮助投资者更好地理解和应用MACD指标,并结合其他技术指标和分析方法来进行更加精准的投资决策。

    STM32(F103)RS485串口通信.rar

    5. **文档**:可能有关于如何编译、烧录和测试代码的说明文档。 通过这些资源,开发者可以学习并实现STM32F103的RS485串口通信功能,从而在实际项目中应用这一技术。对于初学者,理解并实践这一过程是提升嵌入式...

    某人初学javascript的时候写的学习笔记

    * 也可说声明了一个class1方法 */ function class1(){ this.name=”xjl”; //给对象添加属性 this.say= function(){alert&#40;“大家好!”&#41;;}; //给对象添加方法 }; /** * 创建实例用 new 关键字,new 操作符...

    linuxsecurity(安全宝典)

    NULL 博文链接:https://xjl712.iteye.com/blog/1856630

    常见错误收集

    NULL 博文链接:https://xjl712.iteye.com/blog/2157687

    EJB3.0+JBOSS4.2.2GA集群

    NULL 博文链接:https://xjl712.iteye.com/blog/2077838

    最新的AV-killer专杀病毒

    AV-killer是一款流行的病毒专杀软件,真正让你离开无马世界,

    关于Universe和IDT链接数据库的JDBC配置

    ### 关于Universe和IDT链接数据库的JDBC配置 #### 一、概述 在SAP Business Objects(BO)环境中,Universe是用于定义数据结构和业务逻辑的关键组件,而Intelligent Data Transformation (IDT)则是一种强大的工具...

    精准抄底指标文华财经期货软件指标公式源码文华公式指标.doc

    5. `Q1`、`QT`、`QQT`、`HH`、`LL`、`XJH` 和 `XJL`:这些变量用于确定价格的历史高点和低点,辅助判断趋势。 6. `SQ1`、`SQT`、`SQQT`、`SHH`、`SLL`、`XSH` 和 `XSL`:类似地,它们针对下降趋势做同样的分析。 7. ...

Global site tag (gtag.js) - Google Analytics