Java String类的相关操作

一.如何遍历字符串

//法一
String str="hello world";
for(int i=0;i<str.length();i++)
{char ch=str.charAt(i);//以字符的方式遍历字符串
}//法二
String str="hello world";
for(char ch :str.toCharArray)
{...
}

二.关于字母的操作

char ch='t';
if(Character.isLetter(ch))//判断是否为字母
{if(Character.isUpperCase(ch))//判断是否为大写字母{//将大写字母转换为小写字母//法一:ch=Character.toLowerCase(ch);//法二://ch=(char)(ch-'A'+'a');//注意此处需要用强制转换类型将int型转换为char类型}if(Character.isLowerCase(ch))//判断是否为小写字母{//法一://ch=Character.toUpperCase(ch);//法二:ch=(char)(ch-'a'+'A');//将小写字母转换为大写字母,注意此处需要用强制转换类型将int型转换为char类型}}if(Character.isWhitespace(ch));//判断是否为空格
if(Character.isDigit(ch));//判断是否为数字型字符

三.字符串的拼接

String str1="hello";
String str2=" world";
String str3=str1+str2;//直接用加法即可将字符串进行拼接

四.字符串与字符的相互转换

字符串转字符

  1. 使用String.charAt(index)(返回值为char)可以得到String中某一指定位置的char。
  2. 使用String.toCharArray()(返回值为char[])可以得到将包含整个String的char数组。这样我们就能够使用从0开始的位置索引来访问string中的任意位置的元素。

字符转字符串

//字符转字符串
char ch='t';
char ch1[4]="thing";
String str=String.valueOf(ch);//最为简单String str=String.valueOf(ch1);//将一个char数组转为String类型String str=Character.toString(ch);//这个方法实际上直接返回String.valueOf(char)String str=new Character(ch).toString();String str=""+ch;
// 虽然这个方法很简单,但效率最低,Java中的String Object的值实际上是不可变的,是一个final的变量。
// 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
// 而Java对使用+运算符处理String相加进行了方法重载。
// 字符串直接相加连接实际上调用了如下方法:
// new StringBuilder().append("").append('c').toString();String str=new String(new char[]{ch});//利用Sting类的有参构造函数

五.字符串的逆转

String str1="hello";
String str2=new StringBuffer(str1.reverse().toString());//得到的str2即为str1的逆转后的字符串

六.字符串的替换(有时可以用此方法从字符串里删除一部分字符串)

  1. public String replace(char oldChar, char newChar)//用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。

  2. public String replaceFirst(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串,应将新的字符串返回。

  3. public String replaceAll(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串,应将新的字符串返回。

String str = "asdzxcasd";
String str1 = str.replace('h','t');//换单个的字符,str1="tello tello"
String str2 = str.replace("asd","fgh");//换字符串,str2 = "fghzxcfgh"
String str3 = str.replaceFirst("asd","fgh");//换第一个与方法中第二个参数匹配的部分str3 = "fghzxcasd"
String str4 = str.replaceAll("asd","fgh");//换所有匹配的字符串,str4 = "fghzxcfgh"
String str5 = str.replace("asd","");//这样即可删除某个字符串中的出现的另一个字符串

七.关于java中命令行参数的处理

java程序的入口为main方法, main方法可以接受一个命令行参数, 它是一个String[]数组,这个命令行参数由JVM接受用户输入并传给main方法:

public class Main
{public static void main(String[] args){for(String arg: args)//命令行参数的遍历{System.out.println(arg);//对命令行参数进行相关的操作}}
}

八.判断一个字符串是否包括另一个字符串

String str1="hello hello";
String str2="hello";
if(str1.contain(str2)){}//表示str1里是否包含str2
//对于这个方法还可用于删除元素时判断是否还有某元素

九.如何统计一个字符串中给定字符串出现的频率

  1. 看其是否包含给定字符串

    1. 如果不包含则直接输出0
    2. 如果包含则利用replace删除包含的部分
  2. 再通过删除部分的长度除以给定字符串的长度,即为该字符串中出现给定字符串的频率

  3. 需要注意的是需要提前备份原字符串以及原字符串的长度

import java.util.*;
public class Main
{public static void main(String[] args) {Scanner in=new Scanner(System.in);String s9=in.nextLine();String s10=in.nextLine();String s11=s9;int old_length=s9.length();String replace="";if(s9.contains(s10)) {replace=s9.replaceAll(s10, "");int new_length=replace.length();int count=(old_length-new_length)/(s10.length());System.out.println(count);}else System.out.println(0);s9=s10;in.close();}
}

十.如何在字符串中插入字符串

//在字符串中间某个位置插入字符串
String str1="hello";
StringBuilder str2=new StringBuilder(str1);
str2.insert(2,",");//表示在下标为2的前面插入",",即str1="he,llo"
str1=str2.toString();//在字符串后面插入字符串
String str="hello";
StringBuffer str2=new StringBuffer(str);
str2.append("world");//在后面加上world
String str3=str2.toString();

十一.如何判断字符串相等

String name="xiaoming";
if(name.equals("xiaoming"));

Java String类的相关操作相关推荐

  1. c++string类的相关操作

    string的应用是非常典型的,下面我写了一些简单的string类的相关的一些操作,包括增删查改等一些功能和一些运算符的重载,包括他们的测试用例: #include<iostream> # ...

  2. java --String类解决面试问题

    2019独角兽企业重金招聘Python工程师标准>>> 1.概述 字符串对象是一种特殊的对象.String类是一个不可变的类..也就说,String对象一旦创建就不允许修改 Stri ...

  3. Java——String类的方法

    Java--String类的方法 String str1 = "abc" 与String str2 = new String("abc")有什么区别? 字符串常 ...

  4. java string.substring 参数,Java,String类中的subString()方法,stringsubstring

    Java,String类中的subString()方法,stringsubstring public class TestStringSubString { // main函数 public stat ...

  5. Java String类概述

    Java String类 String类简介 字符串比较 String对象(常量)池 静态常量池 运行时常量池 String类简介 字符串严格意义上来讲并不能算是一个基本数据类型,也就是说没有任何一门 ...

  6. 黑马程序员——Java String类 and 正则表达式(第七篇)

    -----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 虽然老毕视频中把正则表达式放到了最后面才讲,但个人认为他和String功能上有些 ...

  7. java communiframe_[Java教程]javascript iframe相关操作

    [Java教程]javascript iframe相关操作 0 2014-08-21 21:02:45 1. 获得iframe的window对象 iframeElement.contentWindow ...

  8. 【STL】string详解(string类常用的操作函数、构造函数、赋值操作、子符串的拼接、查找和替换、比较、存取、插入和删除、获取)

    目录 1. string容器 简介 2. string类常用的操作函数 3. 构造函数 4. 赋值操作 5. 字符串拼接 6. 字符串查找和替换 7. 字符串比较 8. 字符串存取 9. 字符串插入和 ...

  9. Java String类的split方法简介

    Java String类的split方法简介 String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组. 1.一般用法 用一般的字符,例如 @ 或 , 等符号 ...

最新文章

  1. 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(九)
  2. Ocean的礼物(线段树单点修改)
  3. 想调试Angular框架的@HostBinding,应该在哪里设置断点
  4. poj 1185 火炮 (减少国家DP)
  5. Oracle索引状态查询与索引重建
  6. MyEclipse修改项目名称
  7. 20145204《网络对抗》免杀原理与实践
  8. 软件工程大作业:网上购物系统
  9. Python量化交易
  10. 计算机应该玩什么游戏,电脑玩游戏主要靠什么配置
  11. TCP快速恢复算法PRR
  12. 金融业务架构的技术挑战
  13. Nginx 之实现原理
  14. STM32 四轴无人机的设计——基于HCSR04超声波模块的距离检测与警报设计
  15. 盘点2016最值得突击的七大海外市场:最后一年窗口期,不出海就出局!
  16. 三方账号授权登录系统设计思路
  17. VOBSub字幕合并命令行的实现
  18. 投资因子(Investment factor)——投资组合分析(EAP.portfolio_analysis)
  19. windows下搭建h5游戏小小火影教程
  20. 阿里云Elasticsearch性能优化实践

热门文章

  1. innodb_pool_buffer_size对innodb性能的影响
  2. 每日学习小记 11/02
  3. 【大数据-第二期】java基础第五天作业
  4. REHL 6 安装指南
  5. Eclipse SVN修改用户名和密码
  6. linux tar 命令 详解
  7. dell 2950 raid阵列冷迁移方法
  8. 事件触发控制_基于事件触发机制的直流微电网多混合储能系统分层协调控制方法...
  9. java 内存情况_Java代码中获取运行时内存情况
  10. 静态html如何写入文件,静态HTML模板渲染