最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?中導(dǎo)入excel時使用?trim()?無法去除空格的問題解決方案

 更新時間:2023年06月26日 09:15:21   作者:初夏0811  
這篇文章主要介紹了Java中導(dǎo)入excel時使用trim()無法去除空格的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

使用trim無法去除空格的解決方法

一、問題描述

在excel導(dǎo)入操作時,讀取cell中的字符串時,獲取到了cell中的字符串后,通過string的trim()方法去掉前后的空格,發(fā)現(xiàn)如論如何也去不掉。

二、原因分析

摸索一段時間后發(fā)現(xiàn),是輸入法的全角和半角空格的原因,trim()方法只能去掉字符串中的ASCII值為32的空格,即半角的空格,無法去除全角的空格。也就是說,trim或者replace只能去掉ASCII值為32的空格,而ASCII值為160或全角的空格是無法通過replace或者trim處理的全角空格:有的稱呼為 中文空格 ; 半角空格:有的稱呼為 英文空格。例如:開啟全角后,輸入法內(nèi)容是這樣的:abcd 半角輸入是這樣的:abcd ,輸入法,默認都是半角的。切換全半角的方式:shift+space

在這里插入圖片描述

三、解決方案

方案一:使用正則表達式

ASCII編碼是160的空格,Unicode對應(yīng)是\u00A0,使用replace+UNICODE編碼\u00A0替換,全角空格(\u3000),使用replace方法+全角空格字符替換,普通空格,使用replace方法+\s替換,正則表達式.replaceAll(“([ ]|\s|\u00A0)+”,“”)

如下:

public class Demo1 {
  public static void main(String[] args) {
 		String s2 = "全角空格測試 !!";
        System.out.println(s1.replaceAll("([ ]|\\s|\\u00A0)+",""));
        // 全角空格測試!!
  }
}

方案二:使用String.strip()

我這里的問題是全角空格導(dǎo)致的,所以可以使用String.strip()去除字符串前后的“全角和半角”空白字符

public class Demo1 {
  public static void main(String[] args) {
    String s3 = "吃了沒\u3000";
    System.out.println(s3.trim().length());
    System.out.println(s3.strip().length());
    // 4 3
    System.out.println(s3.strip());
    // "吃了沒"
  }

注意: JDK11中引入String.strip(),如果你的項目是用的JDK11以下的環(huán)境,是用不了該方法的。

方案三:使用 hutool的 StrUtil.trim()方法

可以使用 spring提供的工具類 StringUtils.trimWhitespace() 去除 字符串中的全角空格代碼如下:

/**@Description: 全角 空格去除測試
 */
@Test
public void test2(){
    String sLeft = " 左全角空格";
    String sMid = " 兩邊 全角空格  ";
    String sRight = "右邊全角空格  ";
    System.out.println("String工具類 left:"+ org.springframework.util.StringUtils.trimTrailingWhitespace(sLeft));
    System.out.println("String工具類 mid:"+ org.springframework.util.StringUtils.trimTrailingWhitespace(sMid));
    System.out.println("String工具類 right:"+ org.springframework.util.StringUtils.trimTrailingWhitespace(sRight));
    // 使用 hutool的 StrUtil
    System.out.println("Hutool StrUtil 工具類 left:"+StrUtil.trim(sLeft));
    System.out.println("Hutool StrUtil 工具類 mid:"+StrUtil.trim(sMid));
    System.out.println("Hutool StrUtil 工具類 right:"+StrUtil.trim(sRight));
}
/**@Description:Hutool StrUtil 去除普通半角空格
 * <br> 半角空格=英文空格; 全角空格=中文空格
 */
@Test
public void  test3(){
    String sLeft = "  左半角  右全角  ";
    System.out.println("原始字符串:"+sLeft);
    System.out.println("hutool :"+StrUtil.trim(sLeft));
    System.out.println("StringUtil :"+StringUtils.trim(sLeft));
    System.out.println("Spring StringUtil :"+ org.springframework.util.StringUtils.trimWhitespace(sLeft));
    // 去掉 字符串中全部空格
    System.out.println(org.springframework.util.StringUtils.trimAllWhitespace(sLeft));
    sLeft = StrUtil.trim(sLeft);
    System.out.println("最終去除效果:"+sLeft);
}

四、總結(jié)

1、java的String類中的trim方法,只能去除 半角空格,遇到空格去不掉的情況,可能的全角空格,可以考慮使用hutool或者spring提供的工具類試試。

2、hutool 的pom依賴是:

<dependency>
   <groupId>cn.hutool</groupId>
   <artifactId>hutool-all</artifactId>
   <version>5.7.18</version>
</dependency>

注意:apache-commons-lang3 里的StringUtils工具類,無法去除全角空格,原因是:實際調(diào)用的是 String類的trim()方法。

到此這篇關(guān)于Java 中導(dǎo)入excel時使用 trim() 無法去除空格的解決方法的文章就介紹到這了,更多相關(guān)java導(dǎo)入excel使用trim() 無法去除空格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis中返回主鍵一直為1的問題

    mybatis中返回主鍵一直為1的問題

    這篇文章主要介紹了mybatis中返回主鍵一直為1的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 利用java實現(xiàn)二維碼和背景圖的合并

    利用java實現(xiàn)二維碼和背景圖的合并

    本文介紹如何使用java代碼將自動生成的二維碼放入背景模板中,對于java學習者或許有幫助,一起來看看。
    2016-07-07
  • Java?輕松掌握字符緩沖流的使用

    Java?輕松掌握字符緩沖流的使用

    這篇文章主要介紹了Java的字符緩沖流用法,字符緩沖流的用途很多,主要是幾個構(gòu)造方法的使用,在項目開發(fā)中經(jīng)常會用到,需要的朋友參考下吧
    2022-04-04
  • 利用AOP實現(xiàn)系統(tǒng)告警的方法詳解

    利用AOP實現(xiàn)系統(tǒng)告警的方法詳解

    在開發(fā)的過程中會遇到各種各樣的開發(fā)問題,服務(wù)器宕機、網(wǎng)絡(luò)抖動、代碼本身的bug等等。針對代碼的bug,我們可以提前預(yù)支,通過發(fā)送告警信息來警示我們?nèi)ジ深A(yù),盡早處理。本文將利用AOP實現(xiàn)系統(tǒng)告警,需要的可以參考一下
    2022-09-09
  • MyBatis?Xml映射文件之字符串替換方式

    MyBatis?Xml映射文件之字符串替換方式

    這篇文章主要介紹了MyBatis?Xml映射文件之字符串替換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解Java如何在業(yè)務(wù)代碼中優(yōu)雅的使用策略模式

    詳解Java如何在業(yè)務(wù)代碼中優(yōu)雅的使用策略模式

    這篇文章主要為大家介紹了Java如何在業(yè)務(wù)代碼中優(yōu)雅的使用策略模式,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以了解下
    2023-08-08
  • Java異常處理中的各種細節(jié)匯總

    Java異常處理中的各種細節(jié)匯總

    這篇文章主要給大家介紹了關(guān)于Java異常處理中的各種細節(jié)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-01-01
  • java中的除法運算和取模運算解讀

    java中的除法運算和取模運算解讀

    這篇文章主要介紹了java中的除法運算和取模運算,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 詳解Java數(shù)組的一維和二維講解和內(nèi)存顯示圖

    詳解Java數(shù)組的一維和二維講解和內(nèi)存顯示圖

    這篇文章主要介紹了Java數(shù)組的一維和二維講解和內(nèi)存顯示圖,數(shù)組就相當于一個容器,存放相同類型數(shù)據(jù)的容器。而數(shù)組的本質(zhì)上就是讓我們能 "批量" 創(chuàng)建相同類型的變量,需要的朋友可以參考下
    2023-05-05
  • JAVA自定義異常使用方法實例詳解

    JAVA自定義異常使用方法實例詳解

    這篇文章主要介紹了JAVA自定義異常使用方法實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論

井冈山市| 启东市| 自贡市| 崇义县| 兴城市| 朝阳县| 巨野县| 萨嘎县| 扎囊县| 阜康市| 集安市| 安吉县| 汕尾市| 二连浩特市| 余姚市| 太康县| 东丽区| 渭南市| 鹤庆县| 云安县| 登封市| 长丰县| 南丰县| 吉林市| 哈巴河县| 静海县| 合水县| 昆明市| 长葛市| 连云港市| 呼玛县| 仁布县| 舞钢市| 东乌珠穆沁旗| 抚远县| 荃湾区| 尉氏县| 天津市| 郴州市| 万年县| 庆阳市|