java去空格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java去空格相关的知识,希望对你有一定的参考价值。
今天我试下了下replaceall去空格,在网上看到这两个方法,是可以去,
可是我想知道那个“\\s*”和“ +”这两个是什么意思??
java去掉空格,主要使用string的替换方法,如下:
1. String.trim()trim()是去掉首尾空格
2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间
String str = " hell o ";
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
3.或者replaceAll(" +",""); 去掉所有空格
4.str = .replaceAll("\\\\s*", "");
可以替换大部分空白字符, 不限于空格
\\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
5.或者下面的代码也可以去掉所有空格,包括首尾、中间
public String remove(String resource,char ch)
StringBuffer buffer=new StringBuffer();
int position=0;
char currentChar;
while(position<resource.length())
currentChar=resource.charAt(position++);
if(currentChar!=ch) buffer.append(currentChar); return buffer.toString();
参考技术A
第一个是可以去除空白,这里的“空白”指的不仅仅是空格,比如制表符换行符等;
下面是个例子,你自己试试。
第二个是单纯的去除空格,和replaceAll(" ","")效果一样
String m = "\\n a \\n b \\n c \\t d";System.out.println(m);
m = m.replaceAll("\\\\s*", "");
System.out.println(m);//输出结果为一行:"abcd"
*表示0个或多个,而+号表示至少一个 参考技术C 如果去除前后空格,则使用 str.trim();
如果想要去除所有空格,则可以 str.replaceAll(" ","");
str代表你想要操作的字符串 参考技术D 先说一下replace和replaceAll的区别
replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;
另外,如果replaceAll()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即也支持字符串的操作;
所以,你问的就简单了,\\s是正则表达式,只因为\是java转义字符,所以需要多加一个\,就是正则中的\s,\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等;至于你第二个中的“ +”也是正则表达式,+表示重复一次或更多次,所以“ +”,表示一个或者多个的空格都要被全部替换
希望能帮到你!本回答被提问者采纳
java去左右的空格(包括全角空格,tab,回车等)
在开发中我们会遇到需要去除左右空格的需求,如果只是简单的空格,调一下trim()方法即可,但如果有中文全角、回车等看起来是空格的非空格,则需要自定义来开发实现,下面这个工具可以实现去左右那些看起来是空格的所有空格字符。
import com.google.common.base.CharMatcher; /** * @author yangzhilong * @date 6/25/2019 */ public class TrimUtils /** * trim left and right char to "",chars like tab/chinese space/enter/english space * @return */ public static String trimAnyBlank(String str) if(null != str) return CharMatcher.anyOf("\r\n\t \u00A0 ").trimFrom(str); return str;
单元测试:
import static org.junit.Assert.assertEquals; import org.junit.Test; /** * @author yangzhilong * @date 6/25/2019 */ public class TrimUtilsTest @Test public void testTrim() // 左右各有全角状态下的空格 String str = " xfd "; int length = TrimUtils.trimAnyBlank(str).length(); assertEquals(length, 3);
以上是关于java去空格的主要内容,如果未能解决你的问题,请参考以下文章