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]);
}
}

为什么直接写成“?”不可以呢
展开
 我来答
山山小羊不吃草
高粉答主

2018-03-30 · 关注我不会让你失望
知道大有可为答主
回答量:297
采纳率:100%
帮助的人:58.6万
展开全部
  • 因为查看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); 也就是说里面的参数是正则表达式。如果是一些普通的字符,它就会当做普通字符给拆分字符串。可是 ?是特殊字符,想让按照 它来分,所以就用正则表达式表示某个特定字符的方式了 [?] 就表示 问号
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自浮山舞尽霓裳的铁树
2014-03-04 · TA获得超过212个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:122万
展开全部
这是正则表达式的知识了。

?在正则表达式里面是表示前面的部分出现了0次或1次,所以直接写?是不可以的。
如果想匹配?,用中括号可以,用split("\\?")也是可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式