Java正则表达式 : 将字符串两边的空格(包括全角和半角)去掉,字符串内部的空格不能去】
2009-04-17 15:29
501 查看
将字符串两边的空格(包括全角和半角)去掉,字符串内部的空格不能去。
本人曾经试图不使用Java正则表达式,只使用 java.lang.String 中所提供的 API, 虽然能实现,不过要写一堆代码, 现将不使用 Java 正则表达式和使用 Java 正则表达式的代码写出,做个笔记。
A 不使用 Java正则表达式, 有点麻烦^_^
B 使用 Java 正则表达式
做个笔记, 记住要好好学习 Java 正则表达式。
本人曾经试图不使用Java正则表达式,只使用 java.lang.String 中所提供的 API, 虽然能实现,不过要写一堆代码, 现将不使用 Java 正则表达式和使用 Java 正则表达式的代码写出,做个笔记。
A 不使用 Java正则表达式, 有点麻烦^_^
public class SpaceChecker { public static void main(String[] args) { String str = " a b c "; System.out.println(delSpace(str)); } public static String delSpace(String str) { if(str == null) { return null; } // 先将半角空格删除 str = str.trim(); while (str.startsWith(" ")) { // 只可惜String中没有提供replaceLast(), 否则就简单点了 // 所以本循环完成以后,只能将字符串前端的空格删除,却不能删除后端的空格 // 故而本循环完成后,又将字符串翻转后再去一次空格 str = str.replaceFirst(" ", ""); // 一定要 trim(), 不然的话,如果前端的空格是全角和半角相间的话,就搞不定了 str = str.trim(); } // 将字符串翻转 str = reverse(str); // 再去一次空格 while (str.startsWith(" ")) { str = str.replaceFirst(" ", ""); str = str.trim(); } // 最后再将字符串翻转回去 return str = reverse(str).trim(); } // 自定义的字符串翻转方法。 // 很多第三方的包的都有实现,但是 Java API 没有实现,这里自己实现一下 ^_^ public static String reverse(String str){ char[] charsOld = str.toCharArray(); char[] charsNew = new char[charsOld.length]; int index = charsOld.length-1; for (int i = 0; i < charsOld.length ; i++) { charsNew[i] = charsOld[index - i]; } return String.valueOf(charsNew); } }
B 使用 Java 正则表达式
public class SpaceChecker { public static void main(String[] args) throws Exception { SpaceCheck sc = new SpaceCheck(); String str = " a b c "; System.out.println(sc.delSpace(str)); } public String delSpace(String str) throws Exception { if (str == null) { return null; } String regStartSpace = "^[ ]*"; String regEndSpace = "[ ]*$"; // 连续两个 replaceAll // 第一个是去掉前端的空格, 第二个是去掉后端的空格 // 本来想一气呵成,但是未能实现 ^_^ String strDelSpace = str.replaceAll(regStartSpace, "").replaceAll(regEndSpace, ""); return strDelSpace; } }
做个笔记, 记住要好好学习 Java 正则表达式。
相关文章推荐
- 利用Java正则表达式去掉SQL代码中回车换行和多余空格
- PHP中用正则表达式实现类似trim的功能(包括去除全角空格)
- 去掉字符串两端的全角空格和半角空格(含源代码)
- C#正则表达式——中文/英文空格(全角/半角空格)处理
- Java方法trim()所不能删除的字符串两端的全角空格删除方法
- Java去掉字符串两边的空格
- 用正则表达式去掉多余的空格与标点符号 Java
- Java去掉全角空格和半角空格
- 将一个字符串中的多个连在一起的空格变成单个空格 Java 正则表达式
- 正则表达式------去掉字符串前后所有空格
- java正则表达式匹配字符串字母,数字,空格和其他字符出现次数
- C# 正则表达式 —— 中文/英文空格(全角/半角空格)处理
- java 技巧 去除字符串中的空格、回车、换行符、制表符(正则表达式)
- 不能输入全角字符 全角转换为半角 去掉全角下的所有空格
- 使用js的正则表达式删除字符串两边的空格
- 正则表达式去掉java代码斜杠注释(准代码中不能出现“//”)
- Java去除字符串中的空格、回车、换行符、制表符 及 常用正则表达式
- 如何使用java正则表达式去除掉字符串前面的空格
- js去掉字符串中的空格---用正则表达式;
- java正则表达式去掉匹配空格空行