700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java 全角空格 正则表达式_Java正则表达式 : 将字符串两边的空格(包括全角和半

java 全角空格 正则表达式_Java正则表达式 : 将字符串两边的空格(包括全角和半

时间:2022-01-01 22:52:53

相关推荐

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 全角空格 正则表达式_Java正则表达式 : 将字符串两边的空格(包括全角和半角)去掉 字符串内部的空格不能去】 | 学步园...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。