当前位置: 首页 > 编程日记 > 正文

c++ string replace_JAVA应用程序开发之String类常用API

【本文详细介绍了JAVA应用开发中的String类常用API,欢迎读者朋友们阅读、转发和收藏!】

1 基本概念

API ( Application Interface 应用程序接口)是类中提供的接口,类库是类的集合。在 Java 语言中可以通过 import 关键字导入相关的类,在 JDK 的 API 中提供了 130 多个包,如 java.awt 、 java.io 等。可以通过 JDK 的 API 文档来查看这些类,其中主要包括类的继承结构、类的应用、成员变量表、构造方法等,并对每个变量的使用目的作了详细的描述, API 文档是程序开发人员不可或缺的工具。

String 类是 java 中最常见的 API ,代表字符串。 Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

1.1 常用构造方法

在 Java 语言中将字符串作为对象来处理,因此可以像创建其他类对象一样来创建字符串对象,创建对象要使用类的构造方法。 String 类的常用构造方法如下。

1 ) String(char[] value)

该构造方法可分配一个新的 String 对象,使其表示字符数组参数中所有元素连接的结果。实例代码如下:

Char a[] = {‘s’,’t’,’u’,’d’,’e’,’n’,’t’};String s = new String(a);

等价于 String s = new String(“student”);

2 ) String(char a[], int offset, int length)

提取字符数组 a 中的一部分创建一个字符串对象,参数 offset 表示开始截取字符串的位置, length 表示截取字符串的长度。实例代码如下:

Char a[] = {‘s’,’t’,’u’,’d’,’e’,’n’,’t’};String s = new String(a,2,4);

等价于 String s = new String(“uden”);

3 )除了通过以上几种使用 String 类的构造方法来创建字符串变量外,还可通过字符串常量的引用赋值给一个字符串变量。实例代码如下:

String str1,str2;str1 = “We are students”;str2 = “We are students”;

1.2 常用使用方法

字符串作为对象,可通过相应方法获取字符串的有效信息,如获取某字符串的长度、某个索引位置的字符等。

39b4c8a6-dc6a-4733-ae94-6382ad76b7fa

Ø 获取字符串长度

str.length()

使用 String 类的 length() 方法可获取声明的字符串对象的长度,其中, str 为字符串对象。实例代码如下:

String str = “we are students”;Int size = str.length();// 变量 size 的值为 15 ,长度包括字符串中的空格

Ø 字符串查找

String 类提供了两种查找字符串的方法,即 indexOf() 与 lastIndexOf() 方法。这种两种方法都允许在字符串中搜索指定条件的字符或字符串。 indexOf() 方法返回的是搜索的字符或字符串首次出现的位置, lastIndexOf() 方法返回的是搜索的字符或字符串最后一次出现的位置。

1 ) str.indexOf(substr)

以下实例表示查找字符 a 在字符串 str 中的索引位置:

String str = “we are students”;Int size = str.indexOf(“a”); // 变量 size 的值是 3 ,其中 w 是 0 位,第一个空格是 2 位

2 ) str.lastIndexOf(substr)

如果 lastIndexOf() 方法中的参数是空字符串 ”” (没有空格),则返回的结果与调用该字符串 length ()方法的返回结果相同。

Ø 获取指定索引位置的字符

str.charAt(int index)

使用 chatAt() 方法可将指定索引处的字符返回,实例代码如下:

String str = “hello word”;char mychar = str.charAt(6);//mychar 的值为 w

Ø 获取子字符串

1 ) str.substring(int beginIndex)

该方法返回的是从指定的索引位置开始截取直到该字符串结尾的子串,其中, beginIndex 指定从某一索引处开始截取字符串,实例代码如下:

String str = “hello word”;String substr = str.substing(3);//substr 值为 lo word

2 ) str.substring(int beginIndex,int endIndex)

该方法返回的是从字符串某一索引位置开始截取至某一索引位置结束的子串,其中, beginIndex 表示开始截取字符串的索引位置, endIndex 表示子字符串在整个字符串中的结束位置,实例代码如下:

String str = “hello word”;String substr = str.substing(0,3);//substr 值为 hel

Ø 去除空格

str.trim()

trim() 方法返回字符串的副本,忽略前导空格和尾部空格。其中, str 为任意字符串对象,实例代码如下:

String str = “ hello word ”;int length1 = str.length();//length1 值为 16int length2 = str.trim().length();//length2 值为 10

Ø 字符串替换

str.replace(char oldChar,char newChar)

replace() 方法返回的结果是一个新的字符串,其中, oldChar 表示要替换的字符或字符串, newChar 表示替换原来字符串的内容。如果字符串 oldChar 没有出现在该对象表达式中的字符串序列中,则将原字符串返回。实例代码如下:

String str = “address”;String newstr = str.replace(“a”,”A”);//newstr 的值为 Address

Ø 判断字符串的开始与结尾

startsWith() 方法与 endsWith() 方法分别用于判断字符串是否以指定的内容开始或结束,这两个方法的返回值都为 boolean 类型。

1 ) str.startsWith(String prefix)

该方法用于判断当前字符串对象的前缀是否是参数指定的字符串,其中, prefix 是指作为前缀的字符。

2 ) str.endsWith(String suffix)

该方法用于判断当前字符串是否是以给定的子字符串结束,其中, suffix 是指作为后缀的字符串。

代码实例如下:

String num1 = ”22045612”;String num2 = “21304578”;Boolean b = num1.startsWith(“22”);//b 为 trueBoolean b2 = num1.endsWith(“78”);//b2 为 falseBoolean b3 = num2.startsWith(“22”);//b3 为 falseBoolean b4 = num2.endsWith(“78”);//b4 为 true

Ø 判断字符串是否相等

对字符串对象进行比较不能简单地使用比较运算符“ == ”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回 false 。

1 ) str.equals(String otherstr)

其中, str 、 otherstr 是参加比较的两个字符串对象。如果两个字符串具有相同的字符和长度,则使用 equals() 方法进行比较时,返回 true 。

2 ) str.equalsIgnoreCase(String otherstr)

其中, str 、 otherstr 是参加比较的两个字符串对象。使用 equals() 方法对字符串进行比较时是区分大小写的,而使用 equalsIgnoreCase() 方法是在忽略了大小写的情况下比较两个字符串是否相等,返回结果仍为 boolean 类型。

代码实例如下:

String s1 = new String(“abc”);String s2 = new String(“ABC”);String s3 = new String(“abc”);boolean b = s1.equals(s2);//b 为 falseboolean b2 = s1.equalsIgnoreCase(s2);//b2 为 true

Ø 按字典顺序比较两个字符串

compareTo() 方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的 Unicode 值,按字典顺序将此 string 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为 0 。

Str.compareTo(String otherstr)

其中, str 、 otherstr 是参加比较的两个字符串对象。代码实例如下:

String str = new String(“b”);String str2 = new String(“a”);String str3 = new String(“c”);int i1 = str.compareTo(str2);//i1 值为 1int i2 = str.compareTo(str3);//i2 值为 -1

Ø 字母大小写转换

字符串的 toLowerCase() 方法可将字符串中的所有字符从大写字母改写为小写字母,而 toUpperCase() 方法可将字符串中的小写字母改写为大写字母。

1 ) str.toLowerCase()

其中, str 是要进行转换的字符串。该方法将 String 转换为小写。如果字符串中没有应该被转换的字符,则将原字符串返回;否则将返回一个新的字符串,将原字符串中的每个该进行小写转换的字符都转换成等价的小写字符。字符长度与原字符长度相同。

2 ) str.toUpperCase()

其中, str 是要进行转换的字符串。该方法将 String 转换为大写。如果字符串中没有应该被转换的字符,则将原字符串返回;否则将返回一个新的字符串,将原字符串中的每个该进行大写转换的字符都转换成等价的小写字符。字符长度与原字符长度相同。

代码实例如下:

String str = new String(“abc DEF”);String newstr = str.toLowerCase();//newstr 值为 abc defString newstr2 = str.toUpperCase();//newstr2 值为 ABC DEF

Ø 字符串分割

使用 split() 方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中。 Split() 方法提供了两种重载形式。

1 ) str.split(String sign)

其中, sign 为分割字符串的分割符,也可以使用正则表达式。该方法可根据给定的分割符对字符串进行拆分。

2 ) str.split(String sign,int limit)

其中, sign 为分割字符串的分割符,也可以使用正则表达式; limit 为限制的分割次数。该方法可根据给定的分割符对字符串进行拆分,并限定拆分的次数。

说明:没有统一的对字符进行分割的符号,如果想定义多个分割符,可使用符号“ | ”。例如,“ ,|= ”表示分割符分别为“,”和“ = ”。

代码实例如下:

public class Test{public static void main(final String[] args){final String str = new String("abc,def,ghi,gkl");final String[] newstr = str.split(",");for (int i = 0; i 

Ø 格式化字符串

String 类的静态 format() 方法用于创建格式化的字符串。 Format() 方法有两种重载形式。

1 ) str.format(String format,Object…args)

该方法使用指定的格式字符串和参数返回一个格式化字符串,格式化后的新字符串使用本地默认的语言环境。其中, format 表示格式字符串, args 表示格式字符中由格式说明符引用的参数,如果还有格式说明符以外的参数,则忽略这些额外的参数。此参数的数目是可变的,可以为 0 。

2) str.format(Local l,String format,Object…args)

l 表示格式化过程中要应用的语言环境,如果 l 为 null ,则不进行本地化。

除此之外, String 类还有很多用法,此处不一一讲解,可以参考 API 文档。

相关文章:

强大的Charles的使用,强大的flutter1.9

<a href"http://www.cocoachina.com/articles/37551?filterios"> 强大的Charles强大的flutter转载于:https://www.cnblogs.com/henusyj-1314/p/11586350.html

多层次架构设计前言

因为 php 原生来就是要辅助 HTML 的产生&#xff0c;所以程式码跟 HTML 码混在一起写&#xff0c;正是 PHP 的特点也是优点&#xff0c;但正也造成很多分工上的问题&#xff0c;也就是你在写 php 的同时&#xff0c;你也必须很了解 前端、后端技能&#xff0c;像是 DataBase, H…

在java的程序里date类型比较大小

Date a; Date b; 假设现在你已经实例化了a和b a.after(b)返回一个boolean&#xff0c;如果a的时间在b之后&#xff08;不包括等于&#xff09;返回trueb.before(a)返回一个boolean&#xff0c;如果b的时间在a之前&#xff08;不包括等于&#xff09;返回truea.equals(b)返回一个…

linux安装ActiveMQ

1. 下载&#xff1a; # wget https://archive.apache.org/dist/activemq/5.14.0/apache-activemq-5.14.0-bin.tar.gz 2. 解压&#xff1a; # tar zxvf apache-activemq-5.14.0-bin.tar.gz -C ../ 3. 配置环境变量&#xff1a; # vim /etc/profile 4. 启动&#xff1a; # active…

用递归来判断输入的字符串是否是回文

设计思路&#xff1a;导入Scanner类输入字符串&#xff0c;再将输入的字符串转化为字符数组&#xff0c;然后从字符串左右两侧依次比较字符chu是否相同&#xff0c;若相同递归返回读取的字符个数&#xff0c;若返回字符的个数输入字符串的长度&#xff0c;则输出该字符串是回文…

js高级程序设计之跨浏览器事件处理

//事件 var EventUtil { //添加事件 addHandler:function (element, type, handler) { //element:DOM对象,type:事件类型,handler:事件函数 if (element.addEventListener) { //是否存在DOM2级方法 element.addEventListener(type, handler, false); } else if (element.attac…

在python中使用关键字define定义函数_python自定义函数def的应用详解

这里是三岁&#xff0c;来和大家唠唠自定义函数&#xff0c;这一个神奇的东西&#xff0c;带大家白话玩转自定义函数 自定义函数&#xff0c;编程里面的精髓&#xff01; def 自定义函数的必要函数&#xff1a;def 使用方法&#xff1a;def 函数名(参数1&#xff0c;参数2&…

在Win7 + VMware7下安装Xcode 4

我的Mac OS X是在Win7下虚拟机上安装的&#xff0c;我先把xcode_4.0.2_and_ios_sdk_4.3.dmg下载到Win7下某个目录下&#xff0c;然后共享该目录&#xff0c;然后启动Mac OS X&#xff0c;开始安装&#xff1a;1. 找到Win7下xcode_4.0.2_and_ios_sdk_4.3.dmg所在的共享文件夹&am…

plsql误删除数据,提交事务后如何找回?

select *from tbs_rep_template as of timestamp to_timestamp(2018-07-12 14:23:00, yyyy-mm-dd hh24:mi:ss)where tplname like %工业管道定期检验报告%;--其中2018-07-12 14:23:00为:误删数据的大致时刻的提前时间转载于:https://www.cnblogs.com/demon09/p/9300756.html

配置flutter For IOS

https://www.cnblogs.com/lovestarfish/p/10628205.html第一步&#xff0c;下载flutter最新版&#xff0c;解压到自己的目录里&#xff1a; 提供网址&#xff1a;https://flutter.io/setup-macos/ 第二步&#xff0c;终端配置环境&#xff0c;这里我配知道了IOS&#xff0c;安…

Unity3D 镜面反射

原创文章如需转载请注明&#xff1a;转载自 脱莫柔Unity3D学习之旅 QQ群&#xff1a;【119706192】 本文链接地址: Unity3D 镜面反射 这是官方CharacterCustomization事例中的镜面反射shader。 1.首先需要一个plane当镜子&#xff0c;将代码MirrorReflection.cs文件绑定到镜子…

python后端学什么框架_献给正在学习python的你, 10个最受欢迎的Python开源框架

很多小伙伴在学习wen的时候说&#xff0c;有没有几个常用的框架&#xff0c;好多小伙伴都只说对了其中几个&#xff0c;只有少部分是说正确的&#xff0c;想要了解更多&#xff0c;欢迎大家订阅微信公众号&#xff1a;Python从程序猿到程序员&#xff0c;或者加4913.08659&…

HubbleDotNet 简介 (转)

系统简介 HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索数据库组件。开源协议是 Apache 2.0。HubbleDotNet提供了基于SQL的全文检索接口&#xff0c;使用者只需会操作SQL&#xff0c;就可以很快学会使用HubbleDotNet进行全文检索。 HubbleDotNet可以实现全文索引…

JavaScript夯实基础系列(四):原型

在JavaScript中有六种数据类型&#xff1a;number、string、boolean、null、undefined以及对象&#xff0c;ES6加入了一种新的数据类型symbol。其中对象称为引用类型&#xff0c;其他数据类型称为基础类型。在面向对象编程的语言中&#xff0c;对象一般是由类实例化出来的&…

python中意外缩进是什么意思_Python 的缩进是不是反人类的设计?

前些天&#xff0c;我写了《Python为什么使用缩进来划分代码块&#xff1f;》&#xff0c;文中详细梳理了 Python 采用缩进语法的 8 大原因。我极其喜欢这种简洁优雅的风格&#xff0c;所以对它赞美有加。 然而文章发出去后&#xff0c;非常意外&#xff0c;竟收到了大量的反对…

netstat命令

使用netstat -nap可以查看当前发送和接收队列&#xff0c;Send-Q 很高时表示发送队列太长&#xff0c;可能网络阻塞 转载于:https://www.cnblogs.com/wx170119/p/11606909.html

mysql操作数字名称的schema时字符的逃逸问题

一个简单的问题折腾了好大一会儿&#xff0c;mysql不支持直接操作数字名称的schema&#xff0c;在sql操作时必须做字符逃逸&#xff0c;如&#xff1a; char sql_str[1000]; memset(sql_str, 0x0, 1000); sprintf(sql_str, "CREATE TABLE IF NOT EXIST %s.%s(data_id INT(…

使用XMLSpyDocEditPlugIn2.dll,页面加载失败

维护项目中遇到问题&#xff0c;项目用到XMLSpyDocEditPlugIn2.dll的acticex控件&#xff0c;客户换了其他pc后&#xff0c;不能下载安装acticex控件&#xff0c;所以不能使用此功能。解决方法&#xff1a; 1 下载 XMLSpyDocEditPlugIn2.dll&#xff0c; 路径 http://download.…

[bzoj4562][Haoi2016]食物链_记忆化搜索_动态规划

食物链 bzoj-4562 Haoi-2016 题目大意&#xff1a;给你n个点&#xff0c;m条边的DAG&#xff0c;求所有的满足条件的链&#xff0c;使得每条链的起点是一个入度为0的点&#xff0c;中点是一条出度为0的点。 注释&#xff1a;$1\le n\le 10^5$&#xff0c;$1\le m\le 2*10^5$。 …

Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)

任务&#xff1a;在CENT6.8系统中安装Apache&#xff08;版本为&#xff1a;httpd-2.4.41&#xff09; 前提&#xff1a;由于源码包必须先编译后安装&#xff0c;所以必须先安装编译器&#xff1a;gcc 理论步骤&#xff1a; 1.检测gcc软件包&#xff0c;如果不存在则进行安装。…

append函数_连载|想用Python做自动化测试?函数的参数传递机制及变量作用域

“ 这一节有点难。看不懂没关系。继续往后学&#xff0c;回头再来看。”10.6 函数参数传递的机制10.6.1 值传递与引用传递编程语言的参数传递机制通常有两种&#xff1a;值传递拷贝参数的值&#xff0c;然后传递给函数里的新变量。这样&#xff0c;原变量和新变量之间互相独立&…

PowerDesigner生成数据库

此文中图片不小心被删除了&#xff0c;特重写了PowerDesigner生成数据库修改 一、 用POWERDESIGNER生成数据库 FILE&#xff0d;》NEW 在MODEL NAME中输入模版名 在DBMS中选择要连接的数据库类型 点击确定 确定后出现如下页面 选中工具条面版上的 表按钮 在…

随想_8_Windows_XP_Explorer_错误

最近发现微软的系统的稳定性&#xff0c;还是有待提高啊&#xff0c;这不XP SP3的资源管理器&#xff0c;就犯毛病了&#xff0c;俗话说有图 有真相&#xff0c;各位请看&#xff1a; 大家看&#xff0c;资源管理器左边的导航栏&#xff0c; 就可以发现&#xff0c;里面很多东西…

webpack笔记(6)调试模式

在配置devtool时&#xff0c;webpack给我们提供了四种选项。 source-map:在一个单独文件中产生一个完整且功能完全的文件。这个文件具有最好的source map,但是它会减慢打包速度&#xff1b;cheap-module-source-map:在一个单独的文件中产生一个不带列映射的map&#xff0c;不带…

nicstat命令安装与分析

nicstat安装包下载与安装&#xff1a; wget https://downloads.sourceforge.net/project/nicstat/nicstat-1.95.tar.gz tar -zxvf nicstat-1.95.tar.gz cd nicstat-1.95 cp Makefile.Linux Makefile vi Makefile 后修改 CFLAGS $(COPT) make && make install //…

component是什么接口_【Android每日一题】从Activity创建到View呈现中间发生了什么?...

前言前段时间公司招人&#xff0c;作为面试官&#xff0c;我经常让面试者简述View的绘制流程。他们基本都能讲明白View的测量(measure)、布局(layout)、绘制(draw)等过程。还有少数人会提到DecorView和ViewRootImp的作用。但是&#xff0c;当我继续追问关于Window的内容时&…

wp 删除独立存储空间文件(多级非空文件夹删除)

void DelFile(string unZipFilePath)//unZipFilePath第一次传递的是根目录名 { using (var store IsolatedStorageFile.GetUserStoreForApplication()) { if (store.DirectoryExists(unZipFilePath)) { …

重拾博客小序与杂思

寒假期间&#xff0c;条件所限&#xff0c;不能上网&#xff0c;也不能更新博客。寒假结束&#xff0c;懈怠了两个星期&#xff0c;打算重拾博客&#xff0c;继续更新。这学期&#xff08;2012年2月到2012年8月&#xff09;在专业学习上将突出几个集中研究的领域&#xff0c;在…

Ubuntu iso镜像文件写入U盘

Ubuntu iso镜像文件写入U盘 Ubuntu iso镜像文件写入U盘方法 分步指南 命令行输入 usb-creator-gtk如下&#xff1a;3、Device 选择插入的U盘 4、image 选择镜像文件 5、make startup disk

页面布局让footer居页面底部_网站各页面该如何布局关键词优化提升排名?

在网站优化中&#xff0c;最值得关注的一个事情就是关键词的布局&#xff0c;因为关键词的布局直接影响着网站的排名。那么怎样布局关键词才能提高页面和关键词的相关性&#xff0c;并提高网站排名呢&#xff1f;下面一起来看看。一、利用HTML标签布局关键词众所周知&#xff0…