JAVA编程基础一:字符串基本操作

用于记录java学习的过程,思来想去还是整理出来比较好,倒也可与诸君共勉。

1. 字符串信息获取

1.1 字符串长度

String str = "Hello World";
int n = str.length();
// 返回值 n = 11

注意,返回值为int类型,并且空格也要算作长度。

1.2 子字符串查找

        String类提供了两种查找字符串的方法:indexOf()和lastIndexOf(),其中indexOf()返回的是搜索的字符或字符串首次出现的位置,而lastIndexOf()返回的是搜索的字符或字符串最后一次出现的位置。

// 语法
str.indexOf(substr)
// str: 任意字符串对象
// substr:要搜索的子字符串

// 示例
String str = “Hello World”;
str.indexOf("o"); // 返回值为4
str.indexOf("or"); // 返回值为7
str.indexOf("a");  // 未搜索到目标字符串,返回-1

        lastIndexOf()方法也是同理使用,这里就不赘述了,诸君可自试之。需要注意的是,若lastIndexOf()方法的输入参数是空字符串,即lastIndexOf(""),则其返回值与length()方法返回结果相同。

1.3 获取指定索引位置的字符

String str = "Hello World";
// 在String.class文件中可以看到,
// charAt(@range(from 0, to java.lang.Integer.MAX_VALUE))
char mychar = str.charAt(6); // 输出为'W'字符

注意,其返回值是一个char,并且入参的范围为0-intMax。

2. 字符串操作

2.1 获取子字符串

// 语法
substring(int begingIndex, int endIndex)
// begingIndex: 起始索引位置
// endIndex: 终止索引位置
String str = "Hello World";
String substr = str.substring(3, 5);
// 输出为“lo”

注意,若入参只有begingIndex, 则endIndex默认到字符串的结尾,并且空格也会占用一个索引位。

2.2 去除空格

// 示例
String strBlank = “  Hello World  ”;
System.out.println(strBlank.trim());
// 输出为“Hello World”

注意,trim()方法只删去字符串的前导空格和后导空格,中间的空格不会删除。

2.3 字符串替换

// 语法
str.replace(char oldChar, char newChar)
// oldChar表示原字符串中待替换的字符
// newChar表示用于替换原字符的字符
String str = "Hello World";
str.replace('o', 'O');
// 此时str变成“HellO WOrld”

注意,入参只能是一个字符,并且若原字符串中有多个字符,则都会被替换成新的字符。

2.4 判断字符串的开始与结尾

// 示例
String str = "Hello World";
boolenan flag = str.startsWith("He");
// flag的值为true

注意,这里只给出了判断开始字符串的示例,判断结尾的方法名为endsWith(),用法同startsWith()。

2.5 判断字符串是否相等

// 语法
str.equals(String otherStr)
// 示例
String str = "Hello World";
String otherStr = "Hello world";
str.equals(otherStr);
// 返回值为 false

str.equalsIgnoreCase(otherStr);
// 返回值为 true

注意,字符串对象的比较不能简单的用“==”,这是因为运算符“==”比较的是两个字符串的地址是否相同,而即使两个字符串对象的内容相同,其地址也是不同的。同时从上面的示例可看出equals()方法和equalsIgnoreCase()方法的区别,即,后者无视字符串大小写。

2.6 按字典顺序比较两个字符串

// 示例
String str = "Hello World";
String otherStr = "Hello world";
str.compareTo(otherStr);
// 返回值为 -32, 这是因为str中的'W'比otherStr中的'w'要小32
str.compareToIgnoreCase(otherStr);
// 返回值为 0,忽略大小写,则两个字符串相等,返回0

2.7 字母大小写转换

// 示例
String str = "Hello World";
str.toLowerCase();
// 返回值为“hello world”
str.toUpperCase();
// 返回值为“HELLO WORLD”

2.8 字符串分割

// 示例
String str = "one,two,three,four";
str.split(",");
/** 输出为
 * one
 * two
 * three
 * four
 */

        除了原始的split()方法外,还可以限制分割的次数,具体使用方法如下:

// 示例
String str = "one,two,three,four";
str.split(",", 2);
/** 输出为
 * one
 * two,three,four
 */

如有错误,还望诸君指正。

参考资料:《Java从入门到精通(第3版)》

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值