首页 > 其他 > 详细

面试题2

时间:2018-11-01 21:57:27      阅读:146      评论:0      收藏:0      [点我收藏+]

题目:"去掉以下字符串中的空格数量以及特殊字符,并返回新字符串中“b”的位置"

String str = " b a fe sfad    fad #¥#¥    fk2";

我当时是用循环做的,但是我是真的觉得可以用String类里面提供的一些方法做,可以我当时记不起来,虽然我一直觉得学习的是方法,而不是去学习某个题。

这里的话,只说思路就好了。

1,用循环遍历这个字符串,只要遇到是字符或者数字的,那就添加到新的字符串里面去,最后用indexOf("b")来返回“b”在新字符串中的下标

2,在String这个类里面有个方法组是replace,有这类型的方法多个。其中有个就是st.replaceAll("a","b"),这里的表示的意思就是将st字符串中的“a”字符串全部替换成“b”字符串

  利用这个方法,其实就可以将str字符串中的“ ”空格全部替换成“”空字符串.!!其实st.replaceAll("a",‘‘b‘‘)的参数a这里就是一个正则表达式!

  这里很关键哟!!!一定得注意了,这个第一个参数正则表达式给我们带来了极大的好处,那就是可以一句话完成题目的要求,请看下面

  String st = str.replace("[^0-9a-zA-Z]","");这里的第一个参数就是填写的正则表达式,^这个表示的意思就是非,就是不满足后面的范围的,[]中括号表示的本身就是一个字符

3,???我暂时就知道这两种方式,我说的是暂时,我觉得应该没有比正则表达式匹配更好的方式了

面试题2

原文:https://www.cnblogs.com/shiwanming/p/9892384.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!