基础知识:字符串

目录??1. 序言????2. 字母的大小写判断与转换????2.1 字母大小写判断????2.2 字母大小写转换????3. 字符串替换????4. 将变量转为字符串????5. 将字符串转换为字符型数组????6. 对字符串进行操作????6.1 字符串内容追加????6.2 字符串内容反转????7. String、char 数组和 int 之间的互相转换????7.1 String 转 char 数组????7.2 char 数组转 String????7.3 String 转 int????7.4 int 转 String????7.5 char 类型转 int????8. split() 函数的用法??1. 序言

工欲善其事,必先利其器;器欲尽其能,必先得其法。

根据自己刷题总结出的一些经验,现在整理出关于字符串这个模块的一些基础知识以及技巧,只有了解并掌握这些技巧我们才能快速的解题。


2. 字母的大小写判断与转换2.1 字母大小写判断

字母大小写判断最原始的做法如下所示: 1)通过比较ASCII 大写转小写:s[i] >= 65 && s[i] <= 90 ==> s[i] += 32 小写转大写:s[i] >= 97 && s[i] <= 122 ==> s[i] -= 32 2) 调用函数 判断字符是否为大写:Character.isUpperCase(ch) 判断字符是否为小写:Character.isLowerCase(ch)


2.2 字母大小写转换

1) 调用函数

大写转小写:str.toLowerCase(); //使用toLowerCase()方法实现小写转换 小写转大写:str.toUpperCase(); //使用toUpperCase()方法实现大写转换

2) 习题实战???709. 转换成小写字母??


3. 字符串替换

replace(old, new, max)

参数解释: old → 旧字符串,将被替换的子字符串。 new →新字符串,用于替换old子字符串。 max → 可省略,默认全部替换,可选字符串,替换次数不超过max次。(这个参数一般不常用)

1) 使用方法 比如又一个字符串:str = “I love china”; str = str.replace(“I”, “WE”); 替换后的str = ”WE love china”;


4. 将变量转为字符串

.toString()、String.valueOf(待转对象);


5. 将字符串转换为字符型数组

1) char[] ch = str.toCharArray();

2) 其次我们读取单个字符可以这样写:

for(int i = 0;i < str.length();i++){ char ch = str.charAt(i);}


6. 对字符串进行操作6.1 字符串内容追加

1) 定义String Buffer (或者 StringBuilder)类 StringBuffer sb = new StringBuffer(); //StringBuilder sb = new StringBuilder(); 这两者前者线程安全后者效率高。

2)调用append() 函数 sb.append(追加对象);


6.2 字符串内容反转

sb.reverse(); // 最后需要使用sb.toString();返回String 类型


7. String、char 数组和 int 之间的互相转换7.1 String 转 char 数组String str = “abc”;char nums[] = str.toCharArray(); // 另外提一个直接转成char字符,括号内是下标char s = str.charAt(0);7.2 char 数组转 Stringchar nums[] = {‘a’,’b’,’c’};String str = String.valueOf(nums);7.3 String 转 intString str = “123”;int num = Integer.parseInt(str);

小提示:一般有些题目会有字符串的相加,里面是数字,如果你直接使用这个方法去做,如果数字十分大会超过int的取值范围,所以慎用。

7.4 int 转 Stringint num = 123;String str1 = num+””;String str2 = String.valueOf(num);String str3 = Integer.toString(num);7.5 char 类型转 intchar s1 = ‘1’;int a2 = s1 – ‘0’;

这一小节参考了下面这篇文章:???Java中String、char数组和int之间的互相转换??


8. split() 函数的用法

Java中的 split 函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回;在刷题的过程中我们或许需要使用到这个函数,下面通过例子来看怎么使用。

以??Leetcode 习题 1154. 一年中的第几天 为例子??? 比如题目中有这样的字符串:date = “2019-01-09” 这时候我们需要获取到它的年月日,这时候我们就需要使用split() 函数了。

// 首先将date中的”-“给去掉,然后返回的结果就是一个不含”-“的字符数组String[] split = date.split(“-“);// 获取年,字符转整形int year = Integer.valueOf(split[0]);// 获取月int month = Integer.valueOf(split[1]);// 获取日int day = Integer.valueOf(split[2]);

其它的一些用法可参考下面这篇文章???Java中的split函数的用法??


我喜欢出发。凡是到达了的地方,

基础知识:字符串

相关文章:

你感兴趣的文章:

标签云: