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);
    }
}

原文地址:https://www.cnblogs.com/yangzhilong/p/11082537.html

时间: 2024-10-28 23:35:11

java去左右的空格(包括全角空格,tab,回车等)的相关文章

关于JAVA正则匹配空白字符的问题(全角空格与半角空格)

今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!! 查了一下    \s    不支持全角 1."\s"匹配的是哪一种空格? 正则表达式中\s匹配任何空白字符,包括空格.制表符.换页符等等:中文全角空格 \s 并不能匹配中文全角空格. \s 只能匹配下面六种字符(详见 java.util.regex.Pattern 的 API DOC): 半角空格( ) 水平制表符(\t) 竖直制表符

java去掉全角空格和半角空格的方法,

JAVA中去掉空格 1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 String str = " hell o "; String str2 = str.replaceAll(" ", ""); System.out.println(str2); 3.或者replaceAll(" +","

使用全角空格进行文本对齐

我们在做对齐的效果时,通常会使用多个 字符,如以下代码所示: <p><span class="first">来访时间:</span><span class="second" id="arriveTime"></span></p> <p><span class="first">离开时间:</span><span cl

java代码验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数

package com.sangedabuliu.www; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UserReg { /** * 验证用户名,支持中英文(包括全角字符).数字.下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数 * @author www.sangedabuliu.com * @param userName * @return */ public

Java方法trim()所不能删除的字符串两端的全角空格删除方法

String testStr = " 西式灯饰受欢迎 尽情演绎奢华味道"; testStr = testStr.replaceAll("[ | ]", " ").trim(); 如代码所示,直接用半角空格直接替换调字符串中所有的全角空格,然后再用trim()方法即可. 网站编辑往往不小心在全角和半角之间切换,导致很多新闻正文中含有两种空格的混合,这里就给大家介绍这一个:去除全角空格的方法,如上代码所示.

经历:sybase的sql查询,当传递的参数中包含全角空格(\u00a0),查询慢

今天,我遇到了一个sybase数据库查询的问题.一句简单的sql,但是不知道为什么查询不出来,导致生产生产服务器频频挂掉.吓得我的小心脏砰砰啊. select DISTINCT A.FCIL_CDE as fcilCde from DND_EVENT_LOG A WHERE A.DOC_REF =? AND A.DOC_TYPE = ? AND A.START_OR_END = 'S' 后来,经网络运营经理查询,原来是客户传递的参数中包含了特殊字符,即全角空格的转义(\u00a0). 原因是由于

sql语句,一个全角空格的考验

早晨在群里灌水.突然有人发了这个,问哪里错了,下图是sql语句和报错信息... 一群人猜了半天,呵呵,最后发现是 ”全角空格“ 引起的...真是醉了..记录下,引以为戒.

win 10 禁用qq五笔 shitf + 空格 切换全角/半角

win 10 上,总是会不小按到shift + 空格,自动切换全角.半角 解决方法:以前网上找的一个小工具,现在分享 链接: https://pan.baidu.com/s/1aXYPIm6aRAoHh9Grk4q8vA 密码: fmqm 按图所示,选中全角/半角切换 取消 启用热键 的选项 确定-->确定 原文地址:https://www.cnblogs.com/jonah/p/9500730.html

sqlserver去掉字符串结尾的全角空格

CREATE FUNCTION F_Covert( @str nvarchar(4000) ) returns nvarchar(4000) as  begin    declare @endp int,@endflag int,@length int,@i int    ,@reversestr nvarchar(4000),@return_str nvarchar(4000)    select @endflag = 0,@length=len(@str),@i=1,@reversestr