java基础--字符串处理

开发工具与关键技术:      myeclipse  

作者:刘佳明

撰写时间:2020  5   18 

本文章内容来自于老师的课件!!!!!

第一点定义一个字符串类:直接string XX=”定义Sting”;

 

String str1 = new String("Hello Java");

String str2 = new String(str1);

 

?*char a[] = {'H','e','l','l','0'};

String sChar = new String(a);

a[1] = 's';*?

String 转换为 int

 

例如下面代码所示:

public static void main(String[] args) {

String str = "123";

int n = 0;

// 第一种转换方法:Integer.parseInt(str)

n = Integer.parseInt(str);

System.out.println("Integer.parseInt(str) : " + n);

// 第二种转换方法:Integer.valueOf(str).intValue()

n = 0;

n = Integer.valueOf(str).intValue();

System.out.println("Integer.parseInt(str) : " + n);

}

输出结果为:

Integer.parseInt(str) : 123

Integer.parseInt(str) : 123

int 转换为 String

 

例如下面代码所示:

public static void main(String[] args) {

int num = 10;

// 第一种方法:String.valueOf(i);

num = 10;

String str = String.valueOf(num);

System.out.println("str:" + str);

// 第二种方法:Integer.toString(i);

num = 10;

String str2 = Integer.toString(num);

System.out.println("str2:" + str2);

// 第三种方法:"" + i;

String str3 = num + "";

System.out.println("str3:" + str3);

}

输出结果为:

str:10

str2:10

str3:10

 

valueOf() parseXxx()toString()1valueOf()

valueOf() 方法将数据的内部格式转换为可读的形式。它是一种静态方法,对于所有 Java

置的类型,在字符串内被重载,以便每一种类型都能被转换成字符串。

static String valueOf(double num)

static String valueOf(long num)

static String valueOf(Object ob)

static String valueOf(char chars[])

2)parse()

parseXxx(String) 这种形式,是指把字符串转换为数值型,其中 Xxx 对应不同的数据类型,

然后转换为 Xxx 指定的类型,如 int 型和 float 型。

3)toString()

toString() 可以把一个引用类型转换为 String 字符串类型,是 sun 公司开发 Java 的时候为了

方便所有类的字符串操作而特意加入的一个方法。String 字符串虽然是不可变字符串,但也可以进行拼接,只是会产生一个新的对象。

String 字符串拼接可以使用“+”运算符或 String 的 concat(String str) 方法。

“+”运算符优势是可以连接任何类型数据拼接成为字符串,而 concat 方法只能拼接 String

类型字符串

 

Java 获取字符串长度(length())

要获取字符串的长度,可以使用 String 类的 length() 方法,其语法形式如下:

字符串名.length();

Java 字符串大小写转换

String 类的 toLowerCase() 方法可以将字符串中的所有字符全部转换成小写,而非字母的字

符不受影响。语法格式如下:

字符串名.toLowerCase() // 将字符串中的字母全部转换为小写,非字母不受影响

toUpperCase() 则将字符串中的所有字符全部转换成大写,而非字母的字符不受影响。语法

格式如下:

字符串名.toUpperCase() // 将字符串中的字母全部转换为大写,非字母不受影响

例如:

String str="abcdef 我 ghijklmn";

System.out.println(str.toLowerCase()); // 输出:abcdef 我 ghijklmn

System.out.println(str.toUpperCase()); // 输出:ABCDEF 我 GHIJKLMN

Java 去除字符串中的空格(trim())

注意:trim() 只能去掉字符串中前后的半角空格(英文空格),而无法去掉全角空格(中文空格)

1. substring(int beginIndex) 形式

 

String str = "我爱 JAVA 编程";

String result = str.substring(3); // 输出:Java 编程

String result = str.substring(1,6); // 输出:爱JAVA 开始索引有,结束索引没有

 

 

System.out.println(result); 

Java 分割字符串(spilt()

 

public static void main(String[] args) {

String Colors = "Red,Black,White,Yellow,Blue";

String[] arr1 = Colors.split(","); // 不限制元素个数

String[] arr2 = Colors.split(",", 3); // 限制元素个数为 3

System.out.println("所有颜色为:");

for (int i = 0; i < arr1.length; i++) {

System.out.println(arr1[i]); //输出 Red  Black  White Yellow Blue

}

System.out.println("前三个颜色为:"); //输出 Red  Black  White

for (int j = 0; j < arr2.length; j++) {

System.out.println(arr2[j]);

}

}

 

Java 字符串的替换 replace()

 

public static void main(String[] args) {

String words = "hello java,hello php";

System.out.println("原始字符串是'"+words+"'");

System.out.println("replace(\"l\",\"D\")结果:"+words.replace("l","D"));

 //输出 heDDo java,heDDo php

System.out.println("replace(\"hello\",\"你好\")结果:"+words.replace("hello","你好

"));  

//输出 你好java,你好php

 

words = "hr's dog";

System.out.println("原始字符串是'"+words+"'");

System.out.println("replace(\"r's\",\"is\")结果:"+words.replace("r's","is"));

}

//输出 hisdog

 

根据字符查找

tring 类的 indexOf() 方法和 lastlndexOf() 方法用于在字符串中获取匹配字符(串)的索引值

  1. indexOf() 方法  

str.indexOf(value)

str.indexOf(value,int fromIndex)

 

 

String s = "Hello Java";

int size = s.indexOf('v'); // size 的结果为 8

int size = s.indexOf('v',1); // size 的结果为 7

str.lastIndexOf(value)

str.lastlndexOf(value, int fromIndex)

2. lastlndexOf() 方法

 

注意:lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字

符串的末尾开始查找。

charAt() 方法的使用示例如下:

String words = "today,monday,sunday";

System.out.println(words.charAt(0)); // 结果:t

System.out.println(words.charAt(1)); // 结果:o

System.out.println(words.charAt(8)); // 结果:n

 

equals() 方法

 

String str1 = "abc";

String str2 = new String("abc");

String str3 = "ABC";

System.out.println(str1.equals(str2)); // 输出 true

System.out.println(str1.equals(str3)); // 输出 false

 

String s1 = "Hello";

String s2 = new String(s1);

System.out.println(s1.equals(s2)); // 输出 true

System.out.println(s1 == s2); // 输出 false

 

equalsIgnoreCase() 方法

equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同,唯一不同的是

equalsIgnoreCase() 比较时不区分大小写。当比较两个字符串时,它会认为 A-Z a-z 是一

样的。

 

除了通过 String 类创建和处理字符串之外,还可以使用 StringBuffer 类来处理字符串。

StringBuffer 类可以比 String 类更高效地处理字符串

创建 StringBuffer

追加字符串

 

 

StringBuffer buffer = new StringBuffer("hello,"); // 创建一个 StringBuffer 对象

String str = "World!";

buffer.append(str); // StringBuffer 对象追加 str 字符串

System.out.println(buffer.substring(0)); // 输出:Hello,World!

 

 

替换字符

StringBuffer 类的 setCharAt() 方法用于在字符串的指定索引位置替换一个字符。该方法的语

法格式如下:

StringBuffer 对象.setCharAt(int index, char ch);该方法的作用是修改对象中索引值为 index 位置的字符为新的字符 ch,例如:

StringBuffer sb = new StringBuffer("hello");

sb.setCharAt(1,'E');

System.out.println(sb); // 输出:hEllo

sb.setCharAt(0,'H');

System.out.println(sb); // 输出:HEllo

sb.setCharAt(2,'p');

System.out.println(sb); // 输出:HEplo

 

反转字符串

 

StringBuffer sb = new StringBuffer("java");

sb.reverse();

System.out.println(sb); // 输出:avaj

删除字符串

StringBuffer 类提供了 deleteCharAt() delete() 两个删除字符串的方法,下面详细介绍。

1. deleteCharAt() 方法

deleteCharAt() 方法用于移除序列中指定位置的字符,该方法的语法格式如下:

StringBuffer 对象.deleteCharAt(int index);

deleteCharAt() 方法的作用是删除指定位置的字符,然后将剩余的内容形成一个新的字符串

。例如:

StringBuffer sb = new StringBuffer("She");sb.deleteCharAt(2);

System.out.println(sb); // 输出:Se

执行该段代码,将字符串 sb 中索引值为 2 的字符删除,剩余的内容组成一个新的字符串

,因此对象 sb 的值为 Se

2. delete(int start,int end)方法 左闭右开

delete(int start,int end)方法用于移除序列中子字符串的字符,该方法的语法格式如下:

StringBuffer 对象.delete(int start,int end);

其中,start 表示要删除字符的起始索引值(包括索引值所对应的字符),end 表示要删除

字符串的结束索引值(不包括索引值所对应的字符)。该方法的作用是删除指定区域以内

的所有字符,例如:

StringBuffer sb = new StringBuffer("hello jack");

sb.delete(2,5);

System.out.println(sb); // 输出:he jack

sb.delete(2,5);

System.out.println(sb); // 输出:heck

执行该段代码,将字符串“hello jack”索引值为 2(包括)到索引值为 5(不包括)之间的所

有字符删除,因此输出的新的字符串的值为“he jack”

 

你可能感兴趣的:(Java,java基础--字符串处理,myeclipse)