当前位置: 首页 > news >正文

java之字符串常用处理函数

在Java中,你可以使用Collections.sort()方法对字符串中的字符进行排序。这个方法会按照字母顺序对字符进行排序。

以下是一个例子:

import java.util.Arrays;  
import java.util.Collections;    
public class Main {      public static void main(String[] args) {          String str = "hello world";          char[] c = str.toCharArray();Arrays.sort(c);String sortedStr = new String(c);          System.out.println(sortedStr);     }  
}

字符串的常用函数

1、charAt(int index) 返回指定索引位置的字符。
String str = "Hello, World!";  
char charAt2 = str.charAt(2); // 返回字符 'l'  
2、length() 返回字符串的长度。
String str = "Hello, World!";  
int length = str.length(); // 返回13,因为字符串 "Hello, World!" 有13个字符  
3、substring(int beginIndex, int endIndex) 返回从beginIndex到endIndex(不含endIndex)之间的子字符串。
String str = "Hello, World!";  
String substring = str.substring(0, 5); // 返回从索引0到4(不包括5)的子字符串 "Hello"  
4、indexOf(String substring) 返回子字符串第一次出现的索引,如果未找到则返回-1。
String str = "Hello, World!";  
int indexOfWorld = str.indexOf("World"); // 返回7,因为 "World" 第一次出现在索引7的位置
5、lastIndexOf(String substring) 返回子字符串最后一次出现的索引,如果未找到则返回-1,也可以传入单个字符。
String str = "Hello, World!"; 
int lastIndexOfWorld = str.lastIndexOf("World"); // 返回12,因为 "World" 最后出现在索引12的位置 
6、equals(Object anObject) 比较两个字符串的内容是否相同。
String str1 = "Hello";  
String str2 = "Hello";  
boolean isEqual = str1.equals(str2); // 返回true,因为两个字符串的内容相同 
7、equalsIgnoreCase(String anotherString) 忽略大小写比较两个字符串的内容是否相同。
String str1 = "Hello";  
String str2 = "HELLO";  
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2); // 返回true,因为忽略了大小写,两个字符串的内容相同
8、startsWith(String prefix) 测试字符串是否以指定的前缀开始。
String str = "Hello, World!";  
boolean isStartsWith = str.startsWith("Hello"); // 返回true,因为字符串"Hello, World!"以"Hello"开始 
9、endsWith(String suffix) 测试字符串是否以指定的后缀结束。
String str = "Hello, World!";  
boolean isEndsWith = str.endsWith("World!"); // 返回true,因为字符串"Hello, World!"以"World!"结束 
10、replace(char oldChar, char newChar) 替换字符串中的所有指定字符。
String str = "Hello, World!";  
String replacedStr = str.replace('o', 'a'); // 将所有的'o'替换为'a'  
System.out.println("Replaced string: " + replacedStr); // 输出: "Hella, Warld!"
11、toLowerCase() 将所有字符转换为小写。
String str = "Hello World!";  
String lowerCaseStr = str.toLowerCase(); // 将所有字符转换为小写  
System.out.println(lowerCaseStr); // 输出: hello world!
12、toUpperCase() 将所有字符转换为大写。
String str = "Hello World!";  
String upperCaseStr = str.toUpperCase(); // 将所有字符转换为大写  
System.out.println(upperCaseStr); // 输出: HELLO WORLD!
13、trim() 去除字符串首尾的空白字符。
String str = " Hello World! ";  
String trimmedStr = str.trim(); // 去除字符串首尾的空白字符  
System.out.println(trimmedStr); // 输出: Hello World!
14、replaceFirst(String regex, String replacement) 替换第一次出现的指定字符串。或使用给定的正则表达式替换此字符串中第一次出现的匹配内容。
String str = "Hello World!";  
String replacedStr = str.replaceFirst("o", "a"); // 替换第一次出现的'o'为'a'  
System.out.println(replacedStr); // 输出: Hella World!String s = "Hello World";  
String replaced = s.replaceFirst("[a-z]", "a");  // replaced 将变成 "Haaa Waa"
15、replaceAll(String regex, String replacement) 替换所有出现的指定字符串。或使用给定的正则表达式替换此字符串中所有出现的匹配内容。
String str = "Hello World!";  
String replacedStr = str.replaceAll("o", "a"); // 替换所有出现的'o'为'a'  
System.out.println(replacedStr); // 输出: Hella Warld!String s = "Hello World";  
String replaced = s.replaceAll("[a-z]", "a");  // replaced 将变成 "Haaaaa Waaaaa"
16、split(String regex) 根据给定的正则表达式来分割字符串。
String str = "Hello, World!";  
String[] parts = str.split(", "); // 根据逗号和空格分割字符串  
System.out.println(Arrays.toString(parts)); // 输出: [Hello, World!]
17、将字符串转换为一个字符数组
String str = "Hello, World!";  
char[] charArray = str.toCharArray(); 
18、concat(String str):将指定字符串连接到此字符串的末尾。
String s1 = "Hello";  
String s2 = " World";  
s1 = s1.concat(s2);  // s1 现在变成了 "Hello World"
19、indexOfFirstNonSpace():返回第一个非空格字符的索引,如果没有则返回-1。
String s = "  Hello World  ";  
int index = s.indexOfFirstNonSpace();  // index 将变成 3,因为第一个非空格字符是 'H',其索引是 3
20、indexOfLastNonSpace():返回最后一个非空格字符的索引,如果没有则返回-1。
String s = "  Hello World  ";  
int index = s.indexOfLastNonSpace();  // index 将变成 7,因为最后一个非空格字符是 'W',其索引是 7
21、matches(String regex):测试此字符串是否匹配指定的正则表达式。
String s = "12345";  
boolean matches = s.matches("[0-9]+");  // matches 将变成 true,因为 s 只包含数字字符
22、contains(CharSequence s):测试此字符串是否包含指定的子序列。
String s = "Hello World";  
boolean contains = s.contains("World");  // contains 将变成 true,因为 s 包含 "World" 子序列

相关文章:

java之字符串常用处理函数

在Java中,你可以使用Collections.sort()方法对字符串中的字符进行排序。这个方法会按照字母顺序对字符进行排序。 以下是一个例子: import java.util.Arrays; import java.util.Collections; public class Main { public static void main(…...

【XILINX】ERROR:Place:1136 - This design contains a global buffer instance

记录一个ISE软件使用过程中遇到的问题及解决方案。 芯片:spartan6 问题 ERROR:Place:1136 - This design contains a global buffer instance, , driving the net,>, that is driving the following (first 30) non-clock load pins. This is not a recommended…...

【文件上传系列】No.0 利用 FormData 实现文件上传、监控网路速度和上传进度(原生前端,Koa 后端)

利用 FormData 实现文件上传 基础功能:上传文件 演示如下: 概括流程: 前端:把文件数据获取并 append 到 FormData 对象中后端:通过 ctx.request.files 对象拿到二进制数据,获得 node 暂存的文件路径 前端…...

web前端之JavaScrip的笔试题

MENU Promise笔试题-02prototype和__proto__的笔试题JavaScript引用类型值值操和运算符优先级比较--笔试原型与原型链--笔试-05作用域-笔试事件队列-笔试题JavaScript之变量提升-笔试题JavaScript之原型链--笔试题 Promise笔试题-02 console.log(1); // 宏仁务 2 setTimeout(_…...

生活、工作常用API免费接口

身份证识别OCR:传入身份证照片,识别照片文字信息并返回,包括姓名、身份证号码、性别、民族、出生年月日、地址、签发机关及有效期。二维码识别OCR:对图片中的二维码、条形码进行检测和识别,返回存储的文字内容。银行卡…...

PHP使用mkcert本地开发生成HTTPS证书 PhpEnv集成环境

PHP使用mkcert本地开发生成HTTPS证书 PhpEnv集成环境 前言一、介绍 mkcert二、安装/使用 mkcert1. 安装2. 使用 总结 前言 本地开发时有些功能只有在 https 证书的情况下才能使用, 例如一些 Web API 一、介绍 mkcert Github地址 mkcert 是一个制作本地可信开发证书的简单工具。…...

DHTMLX Scheduler PRO 6.0.5 Crack

功能丰富的 JavaScript调度程序 DHTMLX Scheduler 是一个 JavaScript 日程安排日历,具有 10 个视图和可定制的界面,用于开发任何类型的日程安排应用程序。 DHTMLX JS 调度程序库的主要特性 我们的 JS 调度程序最需要的功能之一是时间轴视图。借助时间轴…...

AddressSanitizer和LeakSanitizer有什么区别

AddressSanitizer(ASan)和LeakSanitizer(LSan)都是用于内存错误检测的工具,它们的主要区别在于检测的问题类型和应用场景。 AddressSanitizer(ASan): ASan是一种用于检测内存错误的工具&#xf…...

CoreDNS实战(二)-CoreDNS+ETCD实现DNS服务发现

1 引言 在前面的文章中讲了如何搭建一个内网的DNS服务,但是这里有个问题,mxsm-register.local表示局域网的注册中心域名,如果需要将每台部署了注册中心的IP地址写到CoreDNS的配置文件中。这样就需要每次都去修改 Corefile 配置文件。那有没有…...

B站缓存视频M4S合并MP4(js + ffmpeg )

文章目录 B站缓存视频转MP4(js ffmpeg )1、说明 2、ffmpeg2.1 下载地址2.2 配置环境变量2.3 测试2.4 转换MP4命令 3、处理程序 B站缓存视频转MP4(js ffmpeg ) 注意:这样的方式只用于个人之间不同设备的离线观看。请…...

学习IO的第四天

作业 : 使用两个子进程完成两个文件的拷贝&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一般内容&#xff0c;父进程用于回收两个子进程的资源 #include <head.h>int main(int argc, const char *argv[]) {int rd -1;if((rdopen("./01_test.c&quo…...

Linux:缓冲区的概念理解

文章目录 缓冲区什么是缓冲区&#xff1f;缓冲区的意义是什么&#xff1f;缓冲区的刷新方式 理解缓冲区用户缓冲区和内核缓冲区缓冲区在哪里&#xff1f; 本篇主要总结的是关于缓冲区的概念理解&#xff0c;以及再次基础上对文件的常用接口进行一定程度的封装 缓冲区 什么是缓…...

中山大学李华山、王彪课题组开发 SEN 机器学习模型,高精度预测材料性能

内容一览&#xff1a;了解全局晶体对称性并分析等变信息&#xff0c;对于预测材料性能至关重要&#xff0c;但现有的、基于卷积网络的算法尚且无法完全实现这些需求。针对于此&#xff0c;中山大学的李华山、王彪课题组&#xff0c;开发了一款名为 SEN 的机器学习模型&#xff…...

二百一十、Hive——Flume采集的JSON数据文件写入Hive的ODS层表后字段的数据残缺

一、目的 在用Flume把Kafka的数据采集写入Hive的ODS层表的HDFS文件路径后&#xff0c;发现HDFS文件中没问题&#xff0c;但是ODS层表中字段的数据却有问题&#xff0c;字段中的JSON数据不全 二、Hive处理JSON数据方式 &#xff08;一&#xff09;将Flume采集Kafka的JSON数据…...

【开放集检测OSR】开放集检测和闭集检测的区别和联系:从模型角度进行理解

定义一个分类器&#xff1a; D t r a i n { ( x i , y i ) } i 1 N ⊂ X C D_{train} \{(x_i, y_i)\}^N _{i1} ⊂ X C Dtrain​{(xi​,yi​)}i1N​⊂XC X&#xff1a;输入空间 ( x i , y i ) (x_i, y_i) (xi​,yi​): 输入的图像x以及其对象的类别标签yC &#xff1a;已知…...

【Flink】Flink核心概念简述

目录 一、Flink 简介二、Flink 组件栈1. API & Libraries 层2. runtime层3. 物理部署层 三、Flink 集群架构四、Flink基本编程模型五、Flink 的部署模式六、Flink 任务的执行模式五、Flink 的优点 一、Flink 简介 Apache Flink 的前身是柏林理工大学一个研究性项目&#x…...

linux-tar命令、解压、压缩

压缩 文件夹 命令&#xff1a;tar -zcvf ~/test/tar_t.tar.gz /target/ 将/target/文件夹及其子文件夹和文件压缩成tar_t.tar.gz文件&#xff0c;并放于~/test/路径下 文件 命令&#xff1a;tar -zcvf ~/test/tar_t.tar.gz /target/file 将/target/file文件压缩成tar_t.tar…...

Kafka Connect :构建强大分布式数据集成方案

Kafka Connect 是 Apache Kafka 生态系统中的关键组件&#xff0c;专为构建可靠、高效的分布式数据集成解决方案而设计。本文将深入探讨 Kafka Connect 的核心架构、使用方法以及如何通过丰富的示例代码解决实际的数据集成挑战。 Kafka Connect 的核心架构 Kafka Connect 的核…...

基于 Flink CDC 构建 MySQL 的 Streaming ETL to MySQL

简介 CDC 的全称是 Change Data Capture &#xff0c;在广义的概念上&#xff0c;只要是能捕获数据变更的技术&#xff0c;我们都可以称之为 CDC 。目前通常描述的 CDC 技术主要面向数据库的变更&#xff0c;是一种用于捕获数据库中数据变更的技术。CDC 技术的应用场景非常广泛…...

创建vue项目:node.js下载安装、配置环境变量,下载安装cnpm,配置npm的目录、镜像,安装vue、搭建vue项目开发环境(保姆级教程一)

今天讲解 Windows 如何创建 vue 项目&#xff0c;搭建 vue 开发环境&#xff0c;这是这个系列的第一章&#xff0c;有什么问题请留言&#xff0c;请点赞收藏&#xff01;&#xff01;&#xff01; 文章目录 一、Vue简单介绍二、开始搭建1、安装node.js环境2、配置npm下载时的默…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...