文章目录
- 在实际开发中经常会使用字符串,由许多单个字符连接而成。字符串可包含任意字符,但这些字符必须包含在一对英文双引号之内。Java中定义了String和StringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法。以字符串String常用操作方法为例说明。
- 数据清洗是大数据领域不可缺少的环节,用来发现并纠正数据中可能存在的错误,针对数据审查过程中发现的错误值、缺失值、异常值、可疑数据,选用适当方法进行“清理”,使“脏”数据变为“干净”数据。数据清洗是进行数据分析的前提。在Java课程中,案例涉及数据清洗,这是与专业和应用结合的一种体现。
- 网址清洗任务:网址中包含垃圾字符,可能是在网络传输过程中无意中添加的,也可能是为了安全考虑故意插入的。无论是什么原因引起的,现在都需要清除掉垃圾字符,得到有效的网址。
- 比如:
ht%$tp:%$$%##%/ / w%##%w%w. %%$$%##%16%$$3.c##om
,包含的垃圾字符有空格
、%
、$
与#
,需要清洗掉,变成规范的网址:http://www.163.com
。
(一)编程实现
-
在
net.huawei.p03.t05
包里创建URLCleaning
类
-
思路:将网址字符串中的垃圾字符逐个替换掉,要用到String类的
replace()
-
查看JDK11的API文档:
https://docs.oracle.com/en/java/javase/11/docs/api/index.html
-
搜索String类
-
找String类的
replace()
方法
-
尝试replace()
-
编写程序
public class URLCleaning {
public static void main(String[] args) throws IOException {
String url;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入原始url: ");
url = br.readLine();
// 清洗网址的空格字符
url = url.replace(" ", "");
// 清洗网址中的$符号
url = url.replace("$", "");
// 清洗网址中的%符号
url = url.replace("%", "");
// 清洗网址中的#符号
url = url.replace("#", "");
System.out.println("清洗后的url: " + url);
}
}
- 运行程序,查看结果
任务:由用户来指定垃圾字符
- 修改程序
public class URLCleaning {
public static void main(String[] args) throws IOException {
String url;
String strGarbage; // 垃圾字符串
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入原始url: ");
url = br.readLine();
System.out.print("输入垃圾字符串:");
strGarbage = br.readLine();
// 遍历垃圾字符串
for (int i = 0; i < strGarbage.length(); i++) {
// 逐个清洗垃圾字符串里的每个字符
url = url.replace(String.valueOf(strGarbage.charAt(i)), "");
}
System.out.println("清洗后的url: " + url);
}
}
- 运行程序,查看结果
(二)知识点讲解
- String类常见操作思维导图
知识点:字符串拼接
(1)字符串直接用+拼接
-
演示直接用+连接两个字符串
-
这样会有三个内存单元来存放字符串,浪费内存空间,建议采用StringBuffer(线程安全)或者StringBuilder(线程不安全)来实现字符串拼接。
(2)使用StringBuffer来拼接字符串
利用append()方法添加字符串,利用toString()得到缓冲区的字符串数据
(3)使用StringBuilder来拼接字符串
利用append()
方法添加字符串,利用toString()
得到缓冲区的字符串数据
(三)拓展练习
任务1、编程实现字符串大小写转换并倒序输出
例如:abThRx ⟹ \Longrightarrow⟹ XrHtBA
任务2、编写一个简单的字符串加密和解密程序
自定义加密规则,比如a→ \rightarrow→d, b→ \rightarrow→e, c→ \rightarrow→f…