码迷,mamicode.com
首页 > 其他好文 > 详细

面试题2

时间:2018-11-01 22:40:51      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:应该   位置   括号   完成   多个   返回   利用   index   一个   

题目:"去掉以下字符串中的空格数量以及特殊字符,并返回新字符串中“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

标签:应该   位置   括号   完成   多个   返回   利用   index   一个   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!