zoukankan      html  css  js  c++  java
  • String与正则表达式

    一、String类型:
        1.特点:类型是用final修饰,底层是字符数组和其他数组的
          一些操作。创建的对象不可变。但是声明的变量可以指向不同
          的对象;
           因为是Java语言中最常用的一种类型,所以有一定的优点,
          在使用String类型,提供了字符串常量池:
        2.常量池:   

              在给字符串的变量赋值时,先去常量池寻找这个对象,如果
            找不到,则会新建一个放进常量池。这样有利于对象的可重用性;

     

          这样的对象:必须是字符串字面值,或者是字面
            如:String str=“helloworld";
           字符串的字面量拼接是在编译期间拼接出结果。



    1.字符串的对象特点:有常量池;
    2.String常用的API
      1)indexOf( );索引 第一次字符出现索引的位置
      2)lastIndexOf();:最后一次字符出现索引的位置
      3)length():返回字符串的长度。
        数组中有length属性, size()
      4)substring();截取子字符串 substring(3,5);截取 [3,5)位置的元素
           5)touppefrCase();将字符串中英文变大写
           6)tolowerCase();变小写
           7)charAt(int index);取索引上的字符 返回一个字符
      8)concat(Strig str);传字符串 进行拼接
      9)str.contains(str1);str是否包含子字符串str1
           10)str.endsWith(str1);str是否以str1结尾(后缀)
           11)str.startsWith(str1);str是否以str1开头(前缀)
           12)replace("a","b");所有的a给换成b 以旧换新
      13)replace(String str1,String str2):同上;
      14)trim();去除前后的空格  
      15)equal(Objectstr);与参数str比较内容是否一致(长的是否一样
      16)equalsIgnoreCase(str);忽略大小写



    二、正则表达式:
           1.有时候有这样的需求:对字符串需要匹配,查找,替换等操作.
         2.什么是正则表达式??
          是一个有规律的,有特殊意义的一串字符,通常用来匹配,查找等操作。
        3.常用符号:
          *:任意字符;
           [abc]:表示abc中任意一个字母
         [^abc]:除了abc之外的任意字符
         [0-9]:表示0-9的任意一个数字
        [a-z]:表示a-z中任意一个字母
        [0-9a-zA-Z_]:表示这些字符中任意一个
        [a-z&&[^abc]]:表示a-z中除了abc之外的任意一个字母
        [/d]:表示0-9中任意一个数字
        [/D]:表示非数字中任意一个字符
        [/w]:表示单词字符中任意一个 相当于 [0-9a-zA-Z_] 字母数字下划线
        [/W:表示除了单词字符中任意一个
        s:表示[ f],空白
        S:非空白
        [X]*:匹配0个以上的X
        [X]?:匹配0个或1个X
        [X]+:匹配1个以上的X
        [X]{n}:匹配n个X
        [X]{n,}:匹配n个以上的X
        [X]{n,m}:匹配n到m个
        "^" :从头开始检查字符串是否匹配正则表达式
        “&”:检查字符串的结尾是否匹配正则表达式
    练习:
    1.写一个邮箱的正则表达式:8-16位
    / 校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串:

      /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$

      校验用户姓名:只能输入1-30个以字母开头的字串 :/^[a-zA-Z]{1,30}$/
    校验密码:只能输入6-20个字母、数字、下划线 :/^(w){6,20}$/

    2.//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”
      /^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/
      d:用于匹配从0到9的数字;
      “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次
      可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等

      在写字符串时,想表达""这个字符,必须在前面添加转义字符
      转义字符:
      有一些特殊字符都需要被转义,才行。
    三、String支持正则表达式:
      1:matchs(String reg):
        参数为正则表达式,用来判断字符串是否匹配正则表达式
          匹配:返回true
          不匹配:返回false
      2:split(String reg):
        用来拆分字符串:用符合正则表达式的子字符串拆分成字符串数组。
        返回值类型是字符串数组。
        如果字符串的首位就符合正则表达式,会拆出一个空字符串""元素
        在字符串的末尾如果符合了,不会拆分出一个空字符串元素。
      3:replaceAll(String reg,String new): 作用是使用new这个字符串替换字符串中符合reg的子串

     

     

  • 相关阅读:
    神不在的星期天
    炸弹问题——一种会引发死锁的情景模式
    JavaScript的类和继承
    没有功劳也有苦劳
    使用http代理服务器解决本地客户端页面的跨域AJAX问题
    04数组 字符数组
    01 数据类型 、常量变量、运算符、表达式、格式化输入输出
    03循环结构
    .NET编译、WOW64注册表访问、同时在X86和X64平台上部署应用程序
    Vistual Studio 2008中的智能感应功能
  • 原文地址:https://www.cnblogs.com/xiaozelulu/p/8758606.html
Copyright © 2011-2022 走看看