Java中String类常用方法(转)
转自:https://blog.csdn.net/kaishizhangcheng/article/details/52332543
int indexOf(String str)
该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
重载的方法
int indexOf(String str,int formIndex),从指定下标处(包含)查询子串,返回返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
相关的方法
int lastIndexOf(String str),该方法用于返回子字符串在该字符串中最后一次出现的下标。
- /**
- * int indexOf(String str)
- * 返回当给定字符串在当前字符串中的位置
- * 若当前字符串不包含给定字符串则返回-1
- * 重载的方法
- * int indexOf(String str,int formIndex)
- * @author zc
- */
- @Test
- public void testIndexOf(){
- // 0123456789012345
- String str="thinking in java";
- //查找in
- int index=str.indexOf("in");
- System.out.println(index);//2
- int index2=str.indexOf("ja");
- int index3=str.indexOf("java");
- System.out.println(index2);//12
- System.out.println(index3);//12
- if(str.indexOf("java")!=-1){
- String str2=str.replace("ja","jaaa");//thinking in jaaava
- System.out.println(str2);
- }
- //重载 indexOf(str,包含的起始下标),下标可越界
- int index4=str.indexOf("ja",16);
- System.out.println("重载的indexOf:"+index4);
- //lastIndexOf()
- int index5=str.lastIndexOf("i");
- System.out.println("最后一个i的下标:"+index5);
- }
String substring(int start,int end)
截取字符串,传入的两个参数分别为要截取边界的下标。
在java api 中,通常使用两个数字表示范围时,都是含头不含尾,即包含起始下标对应的内容,但不包含结束下标的处对应的内容。
- public static void main(String[] args) {
- //使用该方法截取域名
- String str="http://www.abcde.cn";
- String name=str.substring(11,15);
- System.out.println(name);
- //重载 substring(int index):从该下标到结束
- name=str.substring(11);
- System.out.println(name);
- //截取域名
- int point=str.indexOf(".");
- int end=str.lastIndexOf(".");
- String name1=str.substring(point+1,end);
- System.out.println(name1);
- }
- @Test
- public void test01(){
- String str2="http://www.abc.com.cn";
- int start=str2.indexOf(".")+1;
- int end=str2.indexOf(".",start);
- String name=str2.substring(start,end);
- System.out.println(name);
- }
String trim()
去除一个字符串两边的空白字符(如空格,tab)
- String str=" hello ";
- String trim=str.trim();
- System.out.println(trim);//hello
char charAt(int index)
返回当前字符串中指定位置的字符
- //charAt:通过位置 获取内容
- String str="abcdef";
- char c=str.charAt(2);
- System.out.println(c);
* boolean startWith(String str)
* boolean endWith(String str)
* 判断当前字符串是否是以给定的字符串开始或结束的
- public static void main(String[] args) {
- //使用这两个方法判断是否是图片
- String str="zhangc.jpg";
- boolean starts=str.startsWith("zh");
- boolean end=str.endsWith(".jpg");
- System.out.println(starts);
- System.out.println(end);
- }
String toUpperCase()
String toLowerCase()
将当前字符串中的英文部分转换为全大写或全小写
- public static void main(String[] args) {
- String str="Hellow World";
- str=str.toUpperCase();
- System.out.println(str);
- str=str.toLowerCase();
- System.out.println(str);
- }
static String valueOf()
String 提供了若干的静态重载的方法valueOf,可以将java中的其他类型转换为字符串类型
常用于将基本类型转换为字符串类型
- public static void main(String[] args) {
- int a=123;
- //valueOf()性能好一点
- String str=String.valueOf(a);
- System.out.println(str);
- double d=123.123;
- String str2=String.valueOf(d);
- //方法2,也可以将一个基本数据类型的数据转成String类型的变量
- String str3=1234f+"";
- System.out.println(str3);
- }
以下为检索某个字符在一个字符串中出现的所有下标的程序,可以使用charAt方法或intdexOf实现
- /**
- * 分别使用charAt()和indexOf()实现检索一个字符串中所有字符b出现的下标
- * @author zc
- */
- public class TCharAt {
- public static void main(String[] args) {
- String s="abcbcdbcgdgscbbvfb";
- for(int i=0;i<s.length();i++){
- if('b'==s.charAt(i)){
- System.out.println(i);
- }
- }
- }
- @Test
- public void test01(){
- String s="abcbcdbcgdgscbbvfb";
- int from=0;
- for(int i=0;i<s.length();i++){
- int index=s.indexOf("b", from);
- System.out.println(index);
- from=index+1;
- if(from>=s.length()){
- break;
- }
- }
- }
- }
String[] split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分
然后将所有拆分后的部分返回
- public static void main(String[] args){
- String str="abc123def456ghi789jkl";
- //按照数字部分拆分字符串
- String[] result=str.split("\\d+");//最大匹配
- System.out.println(result.length);//4
- for(int i=0;i<result.length;i++){
- System.out.println(result[i]);
- }
- }
- @Test
- public void test02(){
- //字符串如果是末尾能够匹配上,所有末尾的 空 字符串会被忽略,切分的正则表达式应满足最大匹配
- String str="abc123def456ghi789jkl12313233";
- String[] result=str.split("\\d");
- for(int i=0;i<result.length;i++){
- System.out.println(result[i]);
- }
- System.out.println("len:"+result.length);//10,末尾的数字切分出来的 空 字符串会被忽略
- String str2="233abc123def456ghi789jk";
- String[] result2=str2.split("\\d");
- for(int i=0;i<result2.length;i++){
- System.out.println(result2[i]);
- }
- System.out.println("len:"+result2.length);//13
- }
String replaceAll(String regex,String str)
将当前字符串中满足正则表达式的部分替换为给定的字符串内容
- public static void main(String[] args) {
- String str="abc123def456ghi789jkl";
- /*
- * 将当前字符串中的数字部分替换为"#NUMBER"
- * */
- str=str.replaceAll("\\d","#NUMBER");
- System.out.println(str);
- str="abc123def456ghi789jkl";
- /**
- * 将英文部分替换为#CHAR#
- * */
- str=str.replaceAll("[a-zA-Z]+","#CHAR#");
- System.out.println(str);
- str=str.replaceAll("\\d+","#NUMBER");
- System.out.println(str);
- }
下面是我写的移除字符串中所有空格的两个方法
- /**
- * 删除字符串中的所有空格
- * @author zc
- */
- public class T11RemoveAllSpace {
- public static void main(String[] args) {
- String s=" ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
- s=s.trim();
- String[] eachs=s.split("\\s+");
- StringBuilder builder=new StringBuilder();
- for(int i=0;i<eachs.length;i++){
- builder.append(eachs[i]);
- }
- s=builder.toString();
- System.out.println(s);
- }
- //这种方法简单
- @Test
- public void test01(){
- String s=" ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
- s=s.replaceAll("\\s+","");
- System.out.println(s);
- }
- }
Java中String类常用方法(转)相关推荐
- java中(String)类常用方法
作者简介: 博主在读计科双非本科,目前大二,正在学习JAVA,数据库,操作系统,计算机网络,数据结构,JAVA Web等- 个人主页:熬夜磕代码丶 作品专栏: java se 我变秃了,也变强了 给大 ...
- Java中String类的方法及说明
String : 字符串类型 一.构造函数 String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数 ...
- 【转载】Java中String类的方法及说明
转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数 String ...
- java中String的常用方法
java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...
- Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
Java中String类的concat方法 在了解concat()之前,首先需要明确的是String的两点特殊性. 长度不可变 值不可变 这两点从源码中对String的声明可以体现: private ...
- 在java中String类为什么要设计成final
在java中String类为什么要设计成final? - 胖胖的回答 - 知乎 https://www.zhihu.com/question/31345592/answer/114126087 转载于 ...
- java中String类的常用方法总结
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- java 中String类的常用方法总结,玩转String类
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- java中string类面试题_java中String类的面试题大全含答案
1.下面程序的运行结果是()(选择一项) String str1="hello"; String str2=new String("hello"); Syste ...
最新文章
- [USACO07NOV]Cow Relays
- java语法基础(总结)
- Java-JPA:JPA
- Day 6:在 Java 虚拟机上使用 Grails 进行快速 Web 开发
- java jvm 加载类的顺序_java JVM-类加载静态初始化块调用顺序
- 微服务架构 —— 服务雪崩与容错方案
- 补遗篇之volatile
- Svchost进程应用技巧
- linux图标大全——这些你认识多少?
- Qt5.12安卓开发环境搭建
- 任意版本nodejs下载
- PL/SQL 连接mysql步骤
- Result的类型分析和总结
- QT QChartView显示坐标值
- 1144106-65-9,Bromo-PEG1-azide,Bromo-PEG1-N3叠氮基团可以通过点击化学与炔烃、BCN、DBCO反应,生成稳定的三唑键
- 云原生kubernetes七 :Pod进阶篇:污点-容忍度-亲和性-Affinity-调度
- 搭建传奇游戏,都需要准备什么东西。
- 色温(光源,环境,季节)
- 短视频社交小程序开发
- 第一届LeetCode刷题打卡赢现金活动开始啦,助力每一位想拿大厂offer的小伙伴!
热门文章
- python igraph使用教程
- macOS安装jdk 卸载jdk
- matlab cell 函数用法
- OSChina 周三乱弹 ——小时候,女孩子喜欢娃娃,长大后
- Sketch(二)——图标集画微信图标
- 把搜狗输入法词库导入Google拼音输入法
- 经典!材料科学基础的思维导图
- RHCSA第四天作业
- win8用命令行禁用数字签名,对win8电脑没有疑难解答的有效
- 计算机网络技术的英语怎么说,计算机网络技术,Computer network technology,音标,读音,翻译,英文例句,英语词典...