Java:为什么使用split分隔字符串时,分隔"?"字符需要写成[?]呢?
publicclassSplit{publicstaticvoidmain(String[]args){Stringdemo="yaofang?25";System.ou...
public class Split {
public static void main(String[] args) {
String demo="yaofang?25";
System.out.println(demo.split("[?]")[0]);
}
}
为什么直接写成“?”不可以呢 展开
public static void main(String[] args) {
String demo="yaofang?25";
System.out.println(demo.split("[?]")[0]);
}
}
为什么直接写成“?”不可以呢 展开
3个回答
展开全部
因为查看api,你就会发现String.split(String regex),也就是说里面的参数是正则表达式。
如果是一些普通的字符,它就会当做普通字符给拆分字符串。可是 ?是特殊字符,想让按照 它来分,所以就用正则表达式表示某个特定字符的方式了。
也就是说[?] 就表示 问号
1、Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2、Java的主要工作:通过编程语言来制作互联网页面、制作动态效果以及网站等技术,现在网上关于这方面的教程有很多,但很多都是过时的,因为互联网是在不断的变化的,互联网上的牛人,要想成为Java大神,走进这条Java大神之群,首先Java教程的开头是二三一,Java的最中间是三一四,Java的最后面再加上零二八,把前面的综合起来,Java大神期待你的加入。
推荐于2017-11-26
展开全部
查看 api ,你就会发现 String.split(String regex); 也就是说里面的参数是正则表达式。如果是一些普通的字符,它就会当做普通字符给拆分字符串。可是 ?是特殊字符,想让按照 它来分,所以就用正则表达式表示某个特定字符的方式了 [?] 就表示 问号
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是正则表达式的知识了。
?在正则表达式里面是表示前面的部分出现了0次或1次,所以直接写?是不可以的。
如果想匹配?,用中括号可以,用split("\\?")也是可以的
?在正则表达式里面是表示前面的部分出现了0次或1次,所以直接写?是不可以的。
如果想匹配?,用中括号可以,用split("\\?")也是可以的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询