字符串比较

public class StringCompareEmp{public static void main(String args[]){String str = "Hello World";String anotherString = "hello world";Object objStr = str;System.out.println( str.compareTo(anotherString) );System.out.println( str.compareToIgnoreCase(anotherString) );  //忽略大小写System.out.println( str.compareTo(objStr.toString()));}
}

以上代码实例输出结果为:

-32
0
0

查找字符串出现的位置

public class Hello {public static void main(String args[]) {String Str1 = "https://www.csdn.net.csdn.net/" ;String Str2 = "csdn", Str3 = "net" ;System.out.println("n第一次的位置:"+ Str1.indexOf( "n" ) ) ;
//第一位以0开始计算,比如abcd的顺序是0123System.out.println("n最后的位置:" + Str1.lastIndexOf( "n" ) ) ;System.out.println("字符串Str2【"+ Str2 +"】最后的位置:" + Str1.lastIndexOf( Str2 ) ) ;System.out.println("从第16个位置开始,n第一次的位置:" + Str1.indexOf( "n", 16 ) ) ;
//虽然从10开始,但是返回值依然是从开始计算System.out.println("从第15个位置开始,字符串Str2【" + Str2 +"】第一次的位置:" + Str1.indexOf( Str2, 15 )) ;System.out.println("字符串Str3【"+ Str3 +"】最后的位置:" + Str1.lastIndexOf( Str3 )) ;}
}

以上代码实例输出结果为:

n第一次的位置:15
n最后的位置:26
字符串Str2【csdn】最后的位置:21
从第16个位置开始,n第一次的位置:17
从第15个位置开始,字符串Str2【csdn】第一次的位置:21
字符串Str3【net】最后的位置:26

删除字符串中的一个字符

public class Main {public static void main(String args[]) {String str = "this is Java";System.out.println(removeCharAt(str, 3));}public static String removeCharAt(String s, int pos) {return s.substring(0, pos) + s.substring(pos + 1);}
}

以上代码实例输出结果为:

thi is Java

字符串替换

public class StringReplaceEmp{public static void main(String args[]){String str="Hello World";System.out.println( str.replace( 'H','W' ) );System.out.println( str.replaceFirst("He", "Wa") );System.out.println( str.replaceAll("He", "Ha") );}
}

以上代码实例输出结果为:

Wello World
Wallo World
Hallo World

字符串反转(反向输出)

public class StringReverseExample{public static void main(String[] args){String string="runoob";String reverse = new StringBuffer(string).reverse().toString();System.out.println("字符串反转前:"+string);System.out.println("字符串反转后:"+reverse);}
}

以上代码实例输出结果为:

字符串反转前:runoob
字符串反转后:boonur

字符串搜索(出现的位置、判断是否存在)

public class SearchStringEmp {public static void main(String[] args) {String strOrig = "Google Runoob Taobao";int intIndex = strOrig.indexOf("Runoob");if(intIndex == - 1){System.out.println("没有找到字符串 Runoob");}else{System.out.println("Runoob 字符串位置 " + intIndex);}}
}

以上代码实例输出结果为:

Runoob 字符串位置 7

字符串分割

public class JavaStringSplitEmp {public static void main(String args[]){String str = "www-runoob-com";String[] temp;String delimeter = "-";  // 指定分割字符temp = str.split(delimeter); // 分割字符串// 普通 for 循环for(int i =0; i < temp.length ; i++){System.out.println(temp[i]);System.out.println("");}System.out.println("------java for each循环输出的方法-----");String str1 = "www.runoob.com";String[] temp1;String delimeter1 = "\\.";  // 指定分割字符, . 号需要转义temp1 = str1.split(delimeter1); // 分割字符串for(String x :  temp1){System.out.println(x);System.out.println("");}}
}

以上代码实例输出结果为:

www
runoob
com------java for each循环输出的方法-----
www
runoob
com

也可以调用StringTokenizer

import java.util.*;
import java.lang.*;public class Main {public static void main(String args[]) {String str="www.runoob.com"; // 实例化对象,并指向以 . 对 str 进行分割StringTokenizer str2=new StringTokenizer(str, ".");// 对 str2 遍历并打印子字符串; while(str2.hasMoreTokens()){ System.out.println(str2.nextToken()); }}
}

输出结果为:

www
runoob
com

字符串小写转大写(大写转小写)

//小转大
public class StringToUpperCaseEmp {public static void main(String[] args) {String str = "string runoob";String strUpper = str.toUpperCase();System.out.println("原始字符串: " + str);System.out.println("转换为大写: " + strUpper);}
}//大转小
public class StringToUpperCaseEmp {public static void main(String[] args) {String str = "STRING RUNOOB";String strLower = str.toLowerCase();System.out.println("原始字符串: " + str);System.out.println("转换为小写: " + strLower);}
}

两个字符串区域是否相等

public class StringRegionMatch{public static void main(String[] args){String first_str = "Welcome to Microsoft";String second_str = "I work with microsoft";boolean match1 = first_str.regionMatches(11, second_str, 12, 9);boolean match2 = first_str.regionMatches(true, 11, second_str, 12, 9); //第一个参数 true 表示忽略大小写区别System.out.println("区分大小写返回值:" + match1);System.out.println("不区分大小写返回值:" + match2);}
}

first_str.regionMatches(11, second_str, 12, 9) 表示将 first_str 字符串从第11个字符"M"开始和 second_str 字符串的第12个字符"M"开始逐个比较,共比较 9 对字符,由于字符串区分大小写,所以结果为false。

如果设置第一个参数为 true ,则表示忽略大小写区别,所以返回 true。

以上代码实例输出结果为:

区分大小写返回值:false
不区分大小写返回值:true

字符串性能比较测试(String intern()关键字:字符串正规表示)

public class StringOptimization {public static void main(String[] args){String variables[] = new String[50000];      for( int i=0;i <50000;i++){variables[i] = "s"+i;}long startTime0 = System.currentTimeMillis();for(int i=0;i<50000;i++){variables[i] = "hello";}long endTime0 = System.currentTimeMillis();System.out.println("直接使用字符串: "+ (endTime0 - startTime0)  + " ms" );long startTime1 = System.currentTimeMillis();for(int i=0;i<50000;i++){variables[i] = new String("hello");}long endTime1 = System.currentTimeMillis();System.out.println("使用 new 关键字:" + (endTime1 - startTime1) + " ms");long startTime2 = System.currentTimeMillis();for(int i=0;i<50000;i++){variables[i] = new String("hello");variables[i] = variables[i].intern();          }long endTime2 = System.currentTimeMillis();System.out.println("使用字符串对象的 intern() 方法: " + (endTime2 - startTime2)+ " ms");}
}

以上代码实例输出结果为:

直接使用字符串: 3 ms
使用 new 关键字:5 ms
使用字符串对象的 intern() 方法: 10 ms

连接字符串(拼接字符串)

public class StringConcatenate {public static void main(String[] args){long startTime = System.currentTimeMillis();for(int i=0;i<5000;i++){String result = "This is"+ "testing the"+ "difference"+ "between"+ "String"+ "and"+ "StringBuffer";}long endTime = System.currentTimeMillis();System.out.println("字符串连接" + " - 使用 + 操作符 : " + (endTime - startTime)+ " ms");long startTime1 = System.currentTimeMillis();for(int i=0;i<5000;i++){StringBuffer result = new StringBuffer();result.append("This is");result.append("testing the");result.append("difference");result.append("between");result.append("String");result.append("and");result.append("StringBuffer");}long endTime1 = System.currentTimeMillis();System.out.println("字符串连接" + " - 使用 StringBuffer : "+ (endTime1 - startTime1)+ " ms");}
}

以上代码实例输出结果为:

字符串连接 - 使用 + 操作符 : 0 ms
字符串连接 - 使用 StringBuffer : 6 ms

Java 字符串常用操作(比较、查找位置、删除字符、替换字符串、反向输出、是否存在、分割字符串、大小写转换,区域比较、拼接字符串)相关推荐

  1. java 字符查找 截断_java字符串常用操作(查找、截取、分割)

    public class 字符串常用操作 { public static void main(String[] args) { /* * 查找子串 */ String str1="dwqae ...

  2. php字符串相关操作,PHP字符串常用操作

    常用操作有: PHP中有两个内建的函数:count() 和sizeof(),可以实现得到数组的长度 count($sttr);数组长度 字符串长度:strlen(string $a); 判断是否相同, ...

  3. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  4. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  5. JavaScript之基础-9 JavaScript String(内置对象、String概述、字符串常用操作、模式匹配)...

    一.JavaScript 内置对象 内置对象 - 什么是内置对象? 内置对象就是ECMAScript标准中已经定义好的,由浏览器厂商已经实现的标准对象 - 内置对象中封装了专门的数据和操作数据常用的A ...

  6. 字符串常用操作函数一

    字符串常用操作函数一 字符串常用操作函数一 1.gets(); 1.1用法 2.puts(); 2.1用法: 2.2 printf.putchar和puts函数的区别: 3.memset(); 3.1 ...

  7. c++语言将字符串逆序输出,C++实现字符串删除字符后逆序输出

    本文实例为大家分享了C++实现字符串删除字符后逆序输出的具体代码,供大家参考,具体内容如下 输入若干个字符串,和一个英文字符ch. 要求删除每个字符串中的字符ch(区分大小写),得到新的字符串,然后将 ...

  8. 总结 | Java字符串常用操作(方法)

    Java字符串 Java String类 创建字符串 字符串长度获取 连接字符串 字符串查找 获取指定位置的字符串 获取子字符串 去除字符串首尾的空格() 字符串替换 判断字符串的开始与结尾 判断字符 ...

  9. Java字符串常用操作

    Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下:Str ...

最新文章

  1. InnoDB中一棵B+树能存多少行数据
  2. CRM呼叫中心和社交媒体集成的技术实现
  3. Syntax error, parameterized types are only available if source level is 1.5 or greater
  4. LeetCode Palindrome Linked List (回文链表)
  5. 设计灵感|如何做好网页后台数据展示的设计?
  6. Apache构建虚拟web主机
  7. 全卷积神经网络 图像语义分割实验:FCN数据集制作,网络模型定义,网络训练(提供数据集和模型文件,以供参考)
  8. 机器人技术基础pdf
  9. 小型pascal编译器C语言代码,Pascal简单编译器
  10. 海康ehome协议分析(4):GPS上传
  11. 微信小程序获取手机号和OPENID
  12. oracle官网(中文)
  13. 计算机电子表格课程导入,又到了每年此刻,教你把课程表导入日历
  14. 潘金莲给武松的最后一封信
  15. 为人处事_为人眼创造色彩
  16. 如何用有道云笔记写含数学公式的专业文章
  17. Java高手速成 | 高质量代码编写最佳实践
  18. 加密算法中常见的IND安全模型
  19. Linux利用sendmail和fetion发送报警通知
  20. 2020 BUPT Winter Training #1 Div.1

热门文章

  1. pandas学习笔记五之pandas合并
  2. 中医科学院院士团队解析丹参纯合基因组和新基因簇在丹参酮合成中的作用
  3. DR5白金版 for mac(PS一键磨皮插件Delicious Retouch)支持ps 2022
  4. C++游戏入门书籍推荐
  5. mysql 毫秒比较_MYSQL的毫秒级时间比较问题
  6. python发邮件实例_python 发送邮件实例
  7. Python | Socket01 - 创建一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
  8. RTX5 | 消息队列03 - 获取消息队列里消息的数量,并一次性提取出来
  9. 操作系统课设之虚拟内存页面置换算法的模拟与实现
  10. Web前端笔记-let n = 6 - data.length >>> 0 含义