Java程序员的Bash实用指南系列之字符串处理(目录)

Java程序员的Bash实用指南系列之字符串处理(目录)

   在一般的计算机编程语言中,字符串处理是很重要的一块,Bash也是如此,如果掌握了字符串的处理,基本上就能够应付大部分的编程工作了。在Unix/Linux操作系统中,很多时候需要使用多个命令一起配合才能完成一个较复杂的任务,Shell提供了管道线、重定向、结构化编程等方式,把这些命令粘合在一起。因此,命令之间的接口数据的处理也就非常重要了,而这大部分都涉及到字符串处理。

《UNIX操作系统教程》 写道
  在UNIX系统的设计中,所采用的最基本的设计思想是将复杂的问题进行分解,用最简单、最基本的功能模块做堆积、连接、组合来解决复杂问题。这样在设计上不但可以保证每个基本模块功能单一、易于实现、设计结构清晰,而且组合使用的效果也会比较理想。

   在这个系列中,我决定从一个Java程序员的角度来将Bash字符串处理的各个方面做个整理和总结,本系列资料的来源于互联网和个人实践,如有不妥之处,欢迎大家指出来。

序号 标题 Java参考
1 (字符串)变量声明 String s; String s2 = "hello";
2 字符串的表示方式(字符串常量) 'c', "string\r\n"
3 给(字符串)变量赋值 s2 = s1; s3 = "another";
4 字符串输出 System.out.println(s);
5 字符串输入(读取字符串) Console.readLine; Scanner.nextLine
6 判断字符串是否为空(不为空) if (s.isEmpty()); if (!s.isEmpty()); StringUtils.isEmpty
7 字符串与默认值 if (s == null) s = "default"; StringUtils.defaultString
8 计算字符串长度 s.length()
9 获取字符串指定位置的字符、遍历字符串中的字符 s.charAt(i)
10 判断两个字符串是否相等(不等) if (s1.equals(s2))
11 比较两个字符串大小(字典顺序、数值比较) s1.compareTo(s2)
12 字符串连接 String s = s1.concat(s2);
13 字符串数组连接(以指定分隔符合并) String join(String[] a, String sep); StringUtils.join
14 判断是否包含另外的字符串(多达6种方法) if (s.contains(s2))
15 计算子串出现的次数 StringUtils.countMatches
16 判断是否以另外的字符串开头 if (s.startsWith(s2))
17 判断是否以另外的字符串结尾 if (s.endsWith(s2))
18 格式化字符串 String.format(format, arg...)
19 查找字符的位置 int pos = s.indexOf(c);
20 查找子串的位置 int pos = s.indexOf(s2);
21 字符串(正则)匹配 if (s.matches(regex))
22 判断字符串是否数字串 if (s.matches("\\d+"))
23 字符串替换、子串删除、子串截取 s.replace(s1, s2); s.replaceAll(s1, s2)
24 文件路径字符串的处理
25 字符串分隔(成数组) String[] a = s.split(regex);
26 根据位置和长度截取子串 String s2 = s.substring(pos, len);
27 转换大小写 String s1 = s.toLowerCase(), s2 = s.toUpperCase();
28 去除前后空白 String s2 = s.trim();
29 字符串翻转
30 综合实例:自动生成版本号源文件

本文链接:http://codingstandards.iteye.com/blog/1162455   (转载请注明出处)

参考资料:

【1】JavaDoc java.lang.String

【2】Apache Commons-Lang Class StringUtils

【3】ABS Advanced Bash-Scripting Guide http://tldp.org/LDP/abs/html/

【4】51CTO 1.2 UNIX系统的主要特性 http://book.51cto.com/art/201001/179368.htm

【5】The Java Tutorials http://download.oracle.com/javase/tutorial

【6】Unix Shell Programming  http://www.tutorialspoint.com/unix/unix-shell.htm

【7】http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html

修订历史:

2011-08-26 规划、整理资料

2011-08-31 编写目录并发布

2011-09-03 编写30节的草稿,调整了第1节和第2节的顺序

2011-09-05 发布第1节 (字符串)变量声明

2011-09-06 发布第2节 字符串的表示方式(字符串常量)

2011-09-07 发布第3节 给(字符串)变量赋值

2011-09-08 发布第4节 字符串输出

2011-09-13 发布第5节 字符串输入(读取字符串)

2011-09-14 发布第6节 判断字符串是否为空(不为空)

2011-09-15 发布第7节 字符串与默认值

2011-09-16 发布第8节 计算字符串长度

2011-09-19 发布第9节 获取字符串指定位置的字符、遍历字符串中的字符

2011-09-20 发布第10节 判断两个字符串是否相等(不等)

2011-09-21 发布第11节 比较两个字符串大小(字典顺序、数值比较)

2011-09-23 发布第12节 字符串连接

2011-09-26 发布第13节 字符串数组连接(以指定分隔符合并)

2011-09-27 发布第14节 判断是否包含另外的字符串(多达6种方法)

2011-09-28 发布第15节 计算子串出现的次数

2011-10-08 发布第16节 判断是否以另外的字符串开头

2011-10-09 发布第17节 判断是否以另外的字符串结尾

2011-10-17 发布第18节 格式化字符串

2011-10-18 发布第19节 查找字符的位置

2011-10-19 发布第20节 查找子串的位置

2011-10-24 发布第21节 字符串(正则)匹配

2011-10-25 发布第22节 判断字符串是否数字串

2011-10-26 发布第23节 字符串替换、子串删除、子串截取

2011-10-30 发布第24节 文件路径字符串的处理

2011-11-03 发布第25节 字符串分隔(成数组)

2011-11-04 发布第26节 根据位置和长度截取子串

2011-11-07 发布第27节 转换大小写

2011-11-08 发布第28节 去除前后空白

2011-11-09 发布第29节 字符串翻转

猜你喜欢

转载自codingstandards.iteye.com/blog/1162455
今日推荐