字符串内容

本文详细介绍了Java中String类的使用,包括构造方法、连接字符串、获取字符串信息、字符串操作如子字符串、替换、判断等,以及格式化字符串和正则表达式的应用。还提到了字符串生成器的相关方法。

字符串

1、String 类

1.1 概述

一个String对象最多可以保存(2^32-1)个字节(占用4GB内存大小)的文本内容。

1.2 构造方法

char a[] = {'g','o','o','d'};
String s = new String(a);

2、连接字符串

2.1 连接多个字符串

2.2 连接其他数据类型

()内优先运算,运算符优先顺序


3、获取字符串信息

3.1 获取字符串长度 length()

String str = "We are student";

int size = str.length();//length()获取字符串长度

3.2字符串查找 indexOf() , lastindexOf()

String str = "We are student";
int size = str.indexOf("a");//indexOf()查找字符首次出现位置,本例size值为3
=============================================
String str = "We are student";
int size = str.lastindexOf("a");//lastindexOf()查找字符最后次出现位置

3.3 获取指定索引位置的字符 charAt()

String str = "We are student";
char mychar = str.charAt(6);//将字符串中索引位置是6的字符返回

4、字符串操作

4.1 获取子字符串 subtring()

String str = "Hello World";
String substr = str.subtring(3);//从某一索引处开始截取字符串,此例substr结果为lo World
=============================================
String str = "Hello World";
String substr = str.subtring(3,5);//开始和结束的索引位置,此例结果位Lo

4.2去除空格 trim()

String text = "   Hello   World   ";
System.out.println("字符串原来的长度为"+text.length());//19
System.out.println("去除空格后字符串长度为"+text.trim().length());//13,只能去除首尾空格

4.3字符串替换 replace()

String str = "address";
String newstr = str.replace("a","A");//replace()替换字符或字符串并返回给newstr,大小写要求严格

4.4 判断字符串的开始和结尾 startsWith() , endsWith()

String num1 = "22020587";
String num2 = "22845287";
boolean b1 = num1.startsWith("22");
boolean b2 = num1.endsWith("87");
System.out.println(b1);//true
System.out.println(b2);//true

4.5判断字符串是否相等 equals() , equalslgnoreCase()

String s1 = ("abc");
String s2 =("ABC");
boolean d1 = s1.equals(s2);
boolean d2 = s1.equalsIgnoreCase(s2);
System.out.println(d1);//false,区分大小写
System.out.println(d2);//true,不区分大小写

4.6 按字典顺序比较两个字符串 compareTo()

        String s11 = "b";
        String s12 = "a";
        String s13 = "d";
        System.out.println(s11.compareTo(s12));//1,将s11和s12对比,a比b高1位,返回1
        System.out.println(s11.compareTo(s13));//-2,将s11和s13对比,d比b小2位,返回-2

4.7字母大小写转换 toLowerCase() , to UpperCase()

        String s21 = "hello world";
        String s22 = "HELLO WORLD";
        String b21 = s21.toUpperCase();//实行大写转换
        String b22 = s22.toLowerCase();//实行小写转换

4.8字符串分割 split()

        String s31 = "192.168.0.1";
        String[] b31 = s31.split("\\.");//按照“.”进行分割,使用转义字符“\\”
        String[] b32 = s31.split("\\.",2);//按照“.”进行分割两次
        for (String a: b31){
            System.out.print("["+a+"]");
        }//[192][168][0][1]
        System.out.println();
        for (String a2:b32){
            System.out.print("["+a2+"]");
        }//[192][168.0.1]

5、格式化字符串

5.1 日期和时间字符串格式化

1.日期格式化

public static void main(String[] args) {
        Date date = new Date();
        String s = String.format("%te",date);
        String m = String.format("%tB",date);
        String y = String.format("%tY",date);
        System.out.println("今年是"+y+"年");
        System.out.println("本月是"+m);
        System.out.println("今天是"+s+"号");//s==1,如果今天是15号,则s的值为15,“%te"是转换符。详情见转换符常见表
    }

请添加图片描述

2.时间格式化

        Date date = new Date();
        String hour = String.format("%tH",date);
        String minute = String.format("%tM",date);
        String second = String.format("%tS",date);
        System.out.println("现在是:"+hour+"时"+minute+"分"+second+"秒");

请添加图片描述

3.格式化常见的日期时间组合

        Date date = new Date();
        String time = String.format("%tc",date);
        String form = String.format("%tF",date);
        System.out.println("时间日期全部信息:"+time);
        System.out.println("日期是:"+form);

请添加图片描述

5.2常规类型格式化

        String s1 = String.format("%d",400/2);
        String s2 = String.format("%b",3>5);
        String s3 = String.format("%x",200);
        System.out.println("400/2="+s1);
        System.out.println("3>5:"+s2);
        System.out.println("200转换成十六进制:"+s3);

6、 使用正则表达式

用来检测某一串字符串是否满足某一格式

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String numbers = sc.next();
        if (numbers.length() == 4) {
            boolean b = numbers.matches("(..)\\1");//判断输入的字符串是否满足ABAB格式,如果是ABABAB格式则为"(..)\\1\\1"
            if (b) {
                System.out.println(numbers + "ABAB");
            } else {
                System.out.println(numbers + "bushi ABAB");
            }
        } else {
            System.out.println("不是四位数");
        }
        sc.close();
    }

7、字符串生成器

1.append()

2.insert()

public static void main(String[] args) {

        StringBuilder bf = new StringBuilder("hello");
        bf.insert(5,"world");
        System.out.println(bf.toString());
    }

3.delete()

		StringBuilder bd = new StringBuilder("StringBuilder");
        bd.delete(5,10);
        System.out.println(bd.toString());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值