java课堂笔记------字符串API

     * int length()
     * 获取当前字符串中的字符个数(长度),无论中英文
     * 每个字符都算一个长度
      str.length();

     * int indexOf(String str)
     * 查找给定的字符串在当前字符串中第一次出现的位置。
     * 返回值为给定的字符串第一个字符在当前字符串的下标
     * 由于java大小写敏感,所以必须全部匹配上才可以返回具体的下标。
    index = str.indexOf("in");

         * int indexOf(String str ,int from)
         * 重载方法:
         * 从当前字符串指定下标位置开始查找第一次出现给定字符串的位置。
         * 同样的,若没有找到会返回-1.
        index = str.indexOf("in",3);

         * int lastIndexOf(String str)
         * 查找当前字符串中最后一次出现给定字符串的位置

        index = str.lastIndexOf("in");

     * 获取字符串中的部分内容
     * String substring(int start,int end)
     * 从指定下标start出对应的字符开始,截取到指定下标end
     * 处之间的字符串,需要注意的是,不包含end位置的字符。
     * java API中凡是使用2个数字表示一个范围,通常都是
     * "含头不含尾"的。
     str.substring(4,9);

     * String trim()
     * 去除当前字符串中两边的空白
     String trim = str.trim();

     * char charAt(int index)
     * 获取当前字符串中指定位置对应的字符
     char c = str.charAt(9);

     * boolean startsWith(String str)
     * boolean endsWith(String str)
     * 判断当前字符串是否是以给定的字符串开头的,另一个
     * 是判断是否是以给定的字符串结尾的。

         boolean starts = str.startsWith("think");
         boolean ends = str.endsWith("ava");

     * String toUpperCase()
     * String toLowerCase()
     * 将当前字符串中的英文部分转换为全大写和全小写
     String upper = str.toUpperCase();
       String lower = str.toLowerCase();
        //通常用来忽略大小写判断(例如验证码判断)

     * static String valueOf()
     * 字符串提供了若干的静态方法valueOf()
     * 作用就是将其他类型转换为字符串。比较常用的是将
     * 基本类型转换为字符串。

         String s1 = String.valueOf(123);//"123"

         String s2 = String.valueOf(123.123);//"123.123"

         //任何类型与字符串连接结果都是字符串。
         String s3 = 123+"";

 * java.lang.StringBuilder
 * 内部维护一个可变的字符数组。为了解决频繁修改
 * 字符串内容带来的性能损耗。
 * 内部提供了用于编辑字符串的相关方法:
 * 增删改插

        StringBuilder sb = new StringBuilder("123456");

         * StringBuilder append(String str)
         * 在当前字符串末尾追加给定内容
         sb.append("789");

         //获取StringBuilder内部编辑后的字符串
         str = sb.toString();

         * StringBuilder delete(int start,int end)
         * 删除当前字符串中给定范围内的字符串
         sb.delete(1, 2);

         * StringBuilder insert(int offset,String str)
         * 将给定的字符串内容插入到指定位置处
         sb.insert(2, "456");

         * StringBuilder replace(int start,int end,String str)
         * 将当前字符串中给定范围内的字符串替换为给定的字符串
         sb.replace(0, 2, "456");

        //反转字符串
        sb.reverse();

     * boolean matches(String regex)
     * 验证当前字符串是否满足给定的正则表达式的格式要求
     * 需要注意:无论正则表达式是否使用了"^","$"都是全
     * 匹配验证

        String str = "[email protected]";
         *  [a-zA-Z0-9_][email protected][a-zA-Z0-9_]+(\.[a-z]+)+
        String regex = "[a-zA-Z0-9_][email protected][a-zA-Z0-9_]+(\\.[a-z]+)+";
        boolean matches = str.matches(regex);

     * String[] split(String regex)
     * 将当前字符串中满足正则表达式的部分"切掉",保留剩下的部分。拆分字符串操作。

        String str = "abc123jh452fh748hf870sdfs5aq75qew";
        String[] array = str.split("[0-9]+");

 * String replaceAll(String regex,String str)
 * 将当前字符串中满足正则表达式部分的内容替换为
 * 给定的字符串

        String str = "fhhf132fhg67fh606fhf234assd798dgh";
        /*
         * 将当前字符串中的数字部分,替换为"#NUMBER#"
         */
        str = str.replaceAll("\\d+", "#NUMBER#");
        
时间: 2025-01-02 15:33:17

java课堂笔记------字符串API的相关文章

java课堂笔记------日期API

* 默认创建出来的Date实例表示当前系统时间 Date date = new Date(); * 获取Date内部维护的long值 long l = date.getTime(); * 支持传入long值的构造方法 * 创建的Date就表示该long值所表示的时间 Date now = new Date(1000*60*60*24); * 也可以在现有的Date对象上调用setTime方法 * 将long值传入,使其表示这个时间 date.setTime(1000*60*60*24); * j

java课堂笔记------集合api

Collection c = new ArrayList(); * boolean add(E e) * 将当前集合中添加给定的元素 * 若成功添加则返回true c.add("one"); c.add("two"); * int size() * 获取当前集合中的元素个数 c.size(); * boolean isEmpty() * 判断当前集合是否不包含任何元素 * 当集合中没有元素时返回true boolean isEmpty = c.isEmpty();

线程(java课堂笔记)

1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同份资源不共享 B implements Runnable:( 推荐) )多个线程共享一个目标资源,适合多线程处理同一份资源. 该类还可以继承其他类,也可以实现其他接口. 二. 线程的生命周期 新建:当程序使用new创建一个线程后,该线程处于新建状态,此时他和其他java对象一样,仅仅由Java虚拟机

Java学习笔记--字符串和文件IO

1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1.1 String类 字符串就是由一系列的字符组成的序列,在很多语言中,比如C语言,将其存储在一个数组中.现在运用Java的思想,就要将字符串视为一个对象,其中Java规定的String类有11个构造方法,同时还有至少40种实现的方法,通过String类的学习,可以很好地了解面向对象的类和对象的思想.

java课堂笔记------Map,队列,栈

* java.util.Map * Map看起来像是一个多行两列的表格 * 每条记录分为两部分:key,value * 其中在一个Map中key是不允许重复的.(equals比较) * * 常用的实现类:java.util.HashMap(散列算法实现) * TreeMap(二叉树实现) Map<String,Integer> map = new HashMap<String,Integer>(); * V put(K k,V v) * 将给定的key与value存入到Map中.

JAVA学习笔记--字符串概述

一.String类 String类代表字符串,是由字符构成的一个序列.创建String对象的方法很简单,有以下几种: 1)用new来创建: String s1 = new String("my name is tongye"); 2) 不用new直接创建: String s2 = "my name is tongye"; 3) 可以用字符数组来创建一个字符串: char[] c = {'t','o','n','g','y','e'}; String s3 = new

我做的第一个程序(菜鸟的java课堂笔记)

内存: 堆区,栈区,常量区,计数区,代码区: 数据类型: 基本数据类型:整形,浮点型,布尔型 boolean 只能返回真假值,字符型: 引用数据类型:类,数组: 基本数据类型-->直接存放到栈区: 引用数据类型-->将引用放到栈区,将内容放到堆区: 全栈工程师:全都会,最牛逼: 数组声明: int [] a = new int [7]: 方法: 修饰符 返回值类型 方法名(参数列表){ 方法体... [return] } 方法的唯一性: 方法名+参数列表(顺序,个数,类型): 方法的重载: 两

java课堂笔记------toString方法和equals方法

* 重写toString方法 * 当我们需要使用当前类的toString方法时,通常我们 * 就需要重写该方法.具体返回字符串的格式没有严格 * 要求,可根据将来实际开发中的需求而定.但通常反 * 回的字符串中应当包含当前类的属性值,以便了解当前 * 对象的信息. * 格式:(x,y) public String toString(){ return "(" + x + "," + y + ")"; } * 通常我们会重写一个类的equals方法

Java课堂笔记317