JAVA中的String类中的一些常用方法

news2024/11/25 11:50:06

目录

字符串比较方法:

boolean equals(Object anObject):

 int compareTo(String s):

int compareToIgnoreCase(String str)

字符串查找方法:

char charAt(int index):

int indexOf(int ch):

 int indexOf(int ch, int fromIndex):

int indexOf(String str):

int indexOf(String str, int fromIndex):

int lastIndexOf(int ch):

int lastIndexOf(int ch, int fromIndex):

int lastIndexOf(String str):

int lastIndexOf(String str, int fromIndex):

字符串的转化

String.valueOf():

String toUpperCase();String toLowerCase():

char[] toCharArray();

String(char value[]):

字符串替换方法:

String replaceAll(String regex, String replacement):

String replaceFirst(String regex, String replacement)

String[] split(String regex):

String substring(int beginIndex, int endIndex):


 

字符串比较方法:

boolean equals(Object anObject):

比较两个字符串是否相等,相等返回ture,否则返回false

    public static void main(String[] args) {

        String a = "asdf";
        System.out.println(a.equals("aaa"));
        System.out.println(a.equals("asdf"));
    }

 int compareTo(String s):

比较两个字符串是否相等,先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值;如果前k个字符相等(k为两个字符长度最小值),返回两个字符串长度差值。

    public static void main(String[] args) {

        String a = "asdf";
        System.out.println(a.compareTo("aaa"));
        System.out.println(a.compareTo("asdf"));
        System.out.println(a.compareTo("asd"));

    }

int compareToIgnoreCase(String str)

忽略字符大小写进行比较,返回值规则为:

  • 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值
  • 如果前k个字符相等(k为两个字符长度最小值),返回两个字符串长度差值。
    public static void main(String[] args) {

        String a = "asdf";
        System.out.println(a.compareToIgnoreCase("aaa"));
        System.out.println(a.compareToIgnoreCase("ASDF"));
        System.out.println(a.compareToIgnoreCase("asd"));

    }

字符串查找方法:

char charAt(int index):

返回index位置上字符,如果index为负数或者越界,抛出IndexOutOfBoundsException异常。

    public static void main(String[] args) {

        String a = "asdf";
        System.out.println(a.charAt(0));
        System.out.println(a.charAt(3));
        System.out.println(a.charAt(5));

    }

 

int indexOf(int ch):

返回ch第一次出现的位置,没有则返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.indexOf('d'));
        System.out.println(a.indexOf('a'));
        System.out.println(a.indexOf('h'));

    }

 int indexOf(int ch, int fromIndex):

从fromIndex位置开始找 ch 返回第一次出现的位置,没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.indexOf('d', 3));
        System.out.println(a.indexOf('a', 1));
        System.out.println(a.indexOf('h',0));

    }

int indexOf(String str):

返回str第一次出现的位置,没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.indexOf("dd"));
        System.out.println(a.indexOf("ss"));

    }

int indexOf(String str, int fromIndex):

从fromIndex位置开始找str第一次出现的位置,没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.indexOf("dd", 3));
        System.out.println(a.indexOf("ss", 0));

    }

 

int lastIndexOf(int ch):

后往前找返回ch第一次出现的位置,没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.lastIndexOf('d'));
        System.out.println(a.lastIndexOf('s'));
        System.out.println(a.lastIndexOf('v'));

    }

int lastIndexOf(int ch, int fromIndex):

从fromIndex位置开始找,从后往前找ch第一次出现的位置,没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.lastIndexOf('d', 2));
        System.out.println(a.lastIndexOf('d', 3));
        System.out.println(a.lastIndexOf('d', 4));

        System.out.println(a.lastIndexOf('g', 5));

    }

 

int lastIndexOf(String str):

从后往前找,返回str第一次出现的位置,没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.lastIndexOf("dd"));
        System.out.println(a.lastIndexOf("as"));
        System.out.println(a.lastIndexOf("bv"));

    }

 

int lastIndexOf(String str, int fromIndex):

从后往前找str第一次出现的位置,如果此位置的下标不大于fromIndex则返回,否则继续往前找。没有返回-1

    public static void main(String[] args) {

        String a = "asdddf";
        System.out.println(a.lastIndexOf("dd", 3));
        System.out.println(a.lastIndexOf("dd", 2));
        System.out.println(a.lastIndexOf("dd", 1));
        System.out.println(a.lastIndexOf("as", 0));
        System.out.println(a.lastIndexOf("bv", 0));

    }

字符串的转化

String.valueOf():

所有基本类型值转化为字符串类型

    public static void main(String[] args) {

        String s1 = String.valueOf(1234);
        String s2 = String.valueOf(12.34);
        String s3 = String.valueOf(true);
        String s4 = String.valueOf('a');
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);
        System.out.println(s4);
    }

 

String toUpperCase();
​​​​​​​String toLowerCase():

返回一个将原字符串转为大写新串 。

返回一个将原字符串转为小写新串 。

    public static void main(String[] args) {
        String s1 = "heLLo";
        String s2 = "HEllO";
        System.out.println(s1.toUpperCase());
        System.out.println(s2.toLowerCase());
    }

char[] toCharArray();
String(char value[]):

字符串转为数组原字符串不会受到影响

数组转为字符串原数组不会受到影响

    public static void main(String[] args) {
        String s = "hello";
        
        char[] ch = s.toCharArray();
        System.out.println(Arrays.toString(ch));
        
        String s2 = new String(ch);
        System.out.println(s2);
    }

字符串替换方法:

String replaceAll(String regex, String replacement):

替换所有的指定内容

    public static void main(String[] args) {

        String str = "helloworld" ;

        System.out.println(str.replaceAll("l", "O"));
    }

String replaceFirst(String regex, String replacement)

替换首个内容

    public static void main(String[] args) {

        String str = "helloworld" ;

        System.out.println(str.replaceFirst("l", "O"));
    }

String[] split(String regex):

将字符串全部拆分

    public static void main(String[] args) {
        String str = "hello world hello" ;
        String[] result = str.split(" ") ; // 按照空格拆分
        for(String s: result) {
            System.out.println(s);
        }
    }

String substring(int beginIndex, int endIndex):

截取 [ beginIndex ,endIndex ) 范围内的字符串

    public static void main(String[] args) {
        String str = "helloworld" ;

        System.out.println(str.substring(0, 5));
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/993596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sqlserver2012性能优化配置:设置性能相关的服务器参数

前言 sqlserver2012 长时间运行的话会将服务器的内存占满 解决办法 通过界面设置 下图中设置最大服务器内存 通过执行脚本设置 需要先开发开启高级选项配置才能设置成功 设置完成之后将高级选择配置关闭,还原成跟之前一样 --可以配置高级选项 EXEC sp_conf…

MySQL--数据库基础

数据库分类 数据库大体可以分为 关系型数据库 和 非关系型数据库 常用数据类型 数值类型: 分为整型和浮点型: 字符串类型 日期类型

【SpringMVC】一行代码完成文件上传JRebel的使用

目录 引言 一、JRebel的使用 1.1.安装JReble 1.2.反向代理工具 1.3.离线使用 二、文件上传 2.1.公共文件跳转 2.2.添加依赖 2.3.配置文件上传解析器 2.4.图片路径配置Tomcat 2.5.前端代码 2.6.文件上传实现 三、文件下载 3.1.Controller层 3.2.前端代码 四、多文…

Jetsonnano B01 笔记4:UART 通信配置及编程

今日继续我的Jetsonnano学习之路,今日学习使用Jetson硬件驱动之UART串口通信: 目录 简议串口通信: 硬件连接: 串口配置: 安装串口函数库: 设置权限: Python代码配置: 下载测试…

机器学习实战-系列教程5:手撕线性回归4之非线性回归(项目实战、原理解读、源码解读)

11、非线性模型 当得到一个回归方程会,得到一条直线来拟合这个数据的统计规律,但是实际中用这样的简单直线很显然并不能拟合出统计规律,所谓线性回归比如两个变量之间关系就直接用一条直线来拟合,2个变量和一个1个变量的关系就用…

PDF 工具箱

PDF 工具箱 V9.0.0.1 程序:VB.net 运行库:NET Framework 4.5 功能简介: 1、PDF文件多文件合并,可调整顺序。 2、PDF文件拆分,将每页拆分成独立的PDF文件。 3、PDF文件添加水印,文字或图片水印&…

代码随想录 -- day46 --139.单词拆分

139.单词拆分 dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词 递推公式是 if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] true。 本题一定是 先遍历 背包,再遍历物品 c…

【LeetCode题目详解】第九章 动态规划part09 198.打家劫舍 213.打家劫舍II 337.打家劫舍III(day48补)

本文章代码以c为例! 一、力扣第198题:打家劫舍 题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻…

【再识C进阶2(中)】详细介绍指针的进阶——函数指针数组、回调函数、qsort函数

前言 💓作者简介: 加油,旭杏,目前大二,正在学习C,数据结构等👀 💓作者主页:加油,旭杏的主页👀 ⏩本文收录在:再识C进阶的专栏&#x1…

开开心心带你学习MySQL数据库之第七篇

MySQL提供的约束 1.not null 2.unique 3.default 4.primary key 5.foreign key 表的设计 找到实体确定实体间的关系 一对一一对多多对多 聚合查询 ~~行之间的运算 ~~聚合函数 ~~分组group by 联合查询 ~~多表查询 ~~笛卡尔积: 把两个表放到一起进行排列组合 班级表 cla…

代码随想录 -- day45 -- 70. 爬楼梯 (进阶)、322. 零钱兑换 、279.完全平方数

70. 爬楼梯 (进阶) 这里要注意,这是一个排列组合的问题,所以要先遍历背包再遍历物品 dp[i]:爬到有i个台阶的楼顶,有dp[i]种方法 递推公式为:dp[i] dp[i - j] class Solution { public:int c…

基于51单片机万年历电压电流检测-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器,液晶1602显示,DS1302时钟检测,电流电压检测、按键设置报警,蜂鸣器报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 /lcd1602初始化设置*/ vo…

Java中什么是序列化,哪里有所应用

文章目录 一、简介1.1 本文介绍Java中的序列化技术1.2 阐述序列化的应用场景 二、Java序列化概述2.1 序列化定义2.2 序列化特征2.3 序列化机制 三、Java序列化使用3.1 实现Serializable接口3.2 transient关键字3.3 自定义序列化策略 四、Java序列化应用4.1 对象状态持久化4.2 网…

RCP系列-第一章 环境安装

RCP系列文章 第一章 Matlab安装 Matlab安装 RCP系列文章前言一、Matlab 获取二、安装1.解压2.打开解压后的文件夹中的【R2018b_win64】文件夹3.鼠标右击【setup】选择【以管理员身份运行】4.选择【使用文件安装密钥】,点击【下一步】5.选择【是】,点击【…

图像处理算法实战【1】超详细整理 | 新手入门实用指南 | 图像处理基础

1. 什么是图像 & 图像在计算机中如何存储?2. 图像可分为哪些类型? 2.1. 二值(黑白)图像2.2. 灰度图像2.3. RGB彩色图像2.4. RGBA图像 3. 什么是图像通道?4. 图像处理 4.1. 什么是图像处理?4.2. 图像处理流程4.3. 图像处理技术…

王道考研计算机网络

文章目录 计算机网络体系结构计算机网络概述计算机网络的性能指标 计算机网络体系结构与参考模型错题 物理层通信基础基础概念奈奎斯特定理和香农定理编码与调制电路交换、报文交换和分组交换数据报与虚电路 传输介质物理层设备错题 数据链路层数据链路层的功能组帧差错控制检错…

SpringSecurity一日干

前后端登录校验的逻辑 完整流程 本质就是过滤器链 1,提交用户名和密码 2,将提交的信息封装Authentication对象 3,传给下一个,调用2中的authenticate方法进行验证 4,3步骤也验证不了需要调用3的authenticate方法…

概念解析 | 揭秘视觉与语言交叉模型:CLIP和BLIP的介绍

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:CLIP和BLIP模型。 揭秘视觉与语言交叉模型:CLIP和BLIP的介绍 🎯 [LB: 0.45836] ~ BLIP+CLIP | CLIP Interrogator | Kaggle 大纲: 背景介绍原理介绍和推导 CLIP模型BLIP模…

简易yum仓库搭建

目录 一、实验准备 二、获取yum仓库、安装httpd 三、客户机配置yum源 四、测试、验证 一、实验准备 准备两台主机: 192.168.115.148 :安装http 、作为yum仓库、挂载默认光盘 192.168.115.148 :作为客户机使用yum仓库、不挂载光盘 二、…

Dominosa/数邻(1) | C++ | 结构体和类

这里是目录 一、背景介绍二、题目描述三、Dominosa 的技巧?四、编程思路五、完整代码六、补充 一、背景介绍 你玩过骨牌吗?至少你一定听说过或者亲眼见过多米诺骨牌,而多米诺骨牌就发展自骨牌,这是一种古老的游戏,而我…