zoukankan      html  css  js  c++  java
  • 面试题2

    题目:"去掉以下字符串中的空格数量以及特殊字符,并返回新字符串中“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,???我暂时就知道这两种方式,我说的是暂时,我觉得应该没有比正则表达式匹配更好的方式了

  • 相关阅读:
    Ghost Button制作教程及设计趋势分析
    onhashchange事件--司徒正美
    window.location.hash属性介绍
    优质UI的7条准则(一)
    当在浏览器地址栏输入一个网址的时候,究竟发生了什么?
    全球最快的JS模板引擎
    眨眼登录表单
    DIV+CSS规范命名
    es6--export,import
    es6--class
  • 原文地址:https://www.cnblogs.com/shiwanming/p/9892384.html
Copyright © 2011-2022 走看看