热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java根据字符截取字符串,java根据正则表达式分割字符串

在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。比如:StringstrJavastring-split#test


在java中,经常拆分字符串,然后使用split方法将字符串拆分为指定的分隔符,并返回字符串数组。 以下是string.split的使用示例和注意事项。


公共类stringsplit {


publicstaticvoidmain (字符串[ ] args ) {


string sourcestr=' 1,2,3,4,5 ';


string [ ] source strarray=sourcestr.split (',');


for(intI=0; i sourceStrArray.length; I ) {


system.out.println (source strarray [ I ];


}


//最多分割3个字符串


int maxSplit=3;


sourceStrArray=sourceStr.split (',',maxSplit );


for(intI=0; i sourceStrArray.length; I ) {


system.out.println (source strarray [ I ];


}


}


}


输出结果:


输出结果


split实现直接调用的matcher类的split的方法。 使用String.split方法分隔字符串时,如果在分隔符中使用特殊字符,可能无法获得预期的结果。 对正则表达式有特殊意义的字符必须转义。 示例:


公共类stringsplit {


publicstaticvoidmain (字符串[ ] args ) {


String value='192.168.128.33 ';


//请注意\\,出不去,yeah


string[]names=value.split('\. ';


for(intI=0; i names.length; I ) {


system.out.println(Names[I];


}


}


}


分割分隔符总结


1 .字符“|”、“*”和“”必须带转义符,前面必须带“\\”。 2 .另一方面,“\”时,必须写为“\\\”。 3 .如果一个字符串包含多个分隔符,则可以使用“|”作为连字符。


例如,stringstr=' javastring-split # test '可以在str.split('|-|# ' )中按字符串进行分隔。 这样把字符串分成了三个子字符串。


Java.util.tokenizer JDK 1.0 orla ter


字符串tokenizer


使用StringTokenizer类,APP应用程序可以将字符串分解为标记。 StringTokenizer是为了兼容性而保留的传统类(虽然新代码不推荐)。 所有要求此功能的人都建议使用String的split方法或java.util.regex包。


代码示例


公共类stringsplit {


publicstaticvoidmain (字符串[ ] args ) {


字符串IP=' 192.168.128.33 ';


stringtokenizertoken=new string tokenizer (IP,'.';


wile(Token.hasmoreelements () ) )。


system.out.print (token.next token () ');


}


}


}


但是,对于字符串' 192.168.33 '的拆分,StringTokenizer只返回三个元素,而忽略两个分隔符之间的空字符串。 请慎重使用这个。


但是,string.split(string.split在正则表达式中匹配,因此不使用KMP字符串匹配算法)使用了顺序遍历算法,而时间复杂度o(m*n )


分享小经验:


1、分隔符为“.”、“|”、转义字符得不到正确结果、“*”、“”时,要引发错误并引发异常,请务必在前面加“\\”,如split ()


2、使用“\”作为分隔符时,必须写string.split(stringstr='a\\b )。 因为在Java中“\”用“\”表示,所以字符串写为: stringstr='a\b


转义字符必须带有“\\”。


3、如果一个字符串包含多个分隔符,可以将“|”连字符。 例如,如果stringstr=' javastring-split # test ',则可以使用str.split('|-|# ' )将每个字符串分开。


PS:JAVA初学者交流组: 457036818,欢迎提问JAVA相关问题


推荐阅读
author-avatar
激越工作室
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有