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 常用使用方法
字符串作为对象,可通过相应方法获取字符串的有效信息,如获取某字符串的长度、某个索引位置的字符等。
Ø 获取字符串长度
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 文档。
c++ string replace_JAVA应用程序开发之String类常用API相关推荐
- 微信小程序开发之scroll-view上拉加载数据实现
微信小程序开发之scroll-view上拉加载数据实现 一.开发思路 1.使用小程序的scroll-view组件中提供了一个bindscrolltolower属性监听组件的滑动到了底部 https:/ ...
- Linux应用程序开发之man手册汉化+开发的简易流程说明
Linux应用程序开发之man手册汉化+开发的简易流程说明 1,开发中善于使用man手册 man手册安装命令: sudo apt-get install manpages-dev man手册汉化安装命 ...
- 微信小程序开发之SVG的使用
因为工作的原因,最近开始接触并且了解微信小程序.太久没有写或者看过前端相关的代码,加上小程序本身的bug也比较多,中间发现坑还是不少,后面逐渐整理总结一下.这一篇先总结一下svg在小程序中的使用. S ...
- 微信小程序开发之wxss中的那些事(一)
微信小程序开发之wxss中的那些事 微信小程序开发中,页面的布局怎么整? 啥是WXSS? 基本语法 什么是rpx 什么是 flex 微信小程序开发中,页面的布局怎么整? 各位道友请留步,如果你是新手, ...
- (010) java后台开发之String字符串操作
转自: https://course.tianmaying.com/java-basic+string#1 先看一个例子: String str1; String str2 = "" ...
- H5前端开发以及小程序开发之路
好久没写博客了,今天心血来潮.总结下.近一年的前端开发之路. 首先,用了ionic+cordova技术框架开发纯粹的混合APP(得有angular的基础知识),一个商城项目,也用了vue,编写单页面, ...
- 微信小程序开发之WXSS模板样式与WXS脚本语言
目录 一.WXSS (1)rpx尺寸单位 (2)样式导入 (3)全局样式与局部样式 (4)常用样式 二.WXS (1)概念 (2)应用场景 (3)WXS与JavaScript的关系 (4)基本用法 内 ...
- 微信小程序开发之webview组件内网页实现微信原生支付
前言.背景 本人目前的工作岗位是安卓工程师,在这之前对于前端和后台的知识基本是白纸,只是在日常的工作项目中有需要和小伙伴进行对接的时候接触了那么一丢丢,对于前端和后台的一些专业描述和理解有不当之处还请 ...
- 微信小程序开发之从“跳伞”到“吃鸡”
写在前边 微信小程序随着官方开放越多越多的接口,也是变的越来越火了,越来越多的企业已经开始布局小程序生态.所以,对于我们开发者来说,掌握小程序开发显得分外重要.如果点亮了该技能,那么离升职加薪赢取白富 ...
最新文章
- Oracle树查询总结
- CFBundleVersion与CFBundleShortVersionString
- tensorflow综合示例3:对结构化数据进行分类:csv keras feature_column
- 程序员:你的业余时间是怎么被浪费掉的?
- php 接受 amp,php中amp;amp;和||的用法
- opencore0.6.3_Ubuntu 18.04 源码编译安装 PHP 7.3
- 2021年专接本计算机院校,2021年专接本各类招生院校汇总
- 用html做工资查询登陆页面,薪资筛选页面.html
- SSO单点登录Spring-Security+CAS+使用手册.doc
- 802.11相关术语及其设计(二)
- 收集常用的.net开源项目
- ORACLE有EXCEL中trend函数,EXCEL【TREND】函数,你知道如何使用吗?
- spring boot内置容器性能比较(Jetty、Tomcat、Undertow)
- Java 随机生成中文姓名,手机号,邮编,住址
- python爬取淘宝数据魔方_淘宝数据魔方是什么(淘宝数据魔方技术架构解析)
- 第五节:蜂鸣器的驱动程序
- 携程网络防火墙自动化运维
- 荣耀linux电脑开机后黑屏,开机黑屏进不了系统,教您解决电脑开机黑屏进不了系统...
- chrome图片下载插件
- Thymeleaf的List各类问题(后端接收对象集合)