首页 > 编程语言 >问题定位总结:java空字符

问题定位总结:java空字符

时间:2024-10-11 21:17:26浏览次数:3  
标签:trim 定位 java String 字符 用户 空字符 空格 CSDN

在线上业务中,有个校验,校验用户输入的信息与现在表里存的信息数据是否一致。比较时忽略首尾的空字符。

但收到用户反馈,在页面填入的数据和表里存的数据一致。校验却不通过。

假设表里存的是“CSDN专业开发者社区”,用户填写的是“CSDN专业开发者社区   ”,后面带有空格。对于用户输入的数据,已经先用String的trim()方法进行处理了再和表里的数据进行比较。但比较结果却是不相等。把后台日志用户的数据复制粘贴到记事本或者word或者页面,没有发现异常,比如在CSDN插入代码:

public static void main(String[] args) {
   String str = "CSDN专业开发者社区   ";
}

但当把数据粘贴到idea上时,结果如下:

打印字符ASCII码,结果如下:

断点String的trim()方法,发现字符的ASCII码小于等于32,末尾的字符才会被过滤掉。而用户输入的空格ASCII码等于160,所以调用trim()方法后字符被保留。

通过打印每个字符的unicode,发现末尾的空格unicode是\u00a0。

\u00a0是不间断空格,常用的String的trim()方法或者StringUtils.trim()方法无法处理,可以通过

replaceAll("\u00A0"," ")替换为普通空格,再用trim()方法。

标签:trim,定位,java,String,字符,用户,空字符,空格,CSDN
From: https://blog.csdn.net/csdnzrc/article/details/142863176

相关文章

  • Java-Exception与RuntimeException
    ......
  • Java并发编程常见面试题
    1.简要描述线程和进程的关系,区别以及优缺点进程:操作系统为程序分配的资源集合,每个进程拥有独立的地址空间。线程:同一个进程可以包含多个线程,他们共享线程的地址空间和资源。一个进程中可以有多个线程,多个线程共享进程的堆和方法区资源,但是每个线程有自己的程序......
  • Java并发编程-线程池
    ThreadLocal应用场景:两个线程争执一个资源。解决问题:实现每个线程绑定自己的专属本地变量,可以将ThreadLocal类理解成存放数据的盒子,盒子中存放每个线程的私有数据。线程池的用途选择快速响应用户请求:比如说用户查询商品详情页,会涉及查询商品关联的一系列信息如价格、优......
  • Java String.valueOf 和 toString的区别
    String.valueOf()和toString()都是Java中用于获取字符串表示的方法,但它们的使用场景和实现方式有所不同。以下是它们之间的主要区别:1.方法来源String.valueOf(Objectobj):是String类的静态方法,接受一个对象作为参数。如果传入的对象为null,它会返回字符串"null"。......
  • JavaScript的内置对象有哪些?
    一、内置对象1、概念​JavaScript中的对象共分为3种:自定义对象、浏览器对象和内置对象。之前我们自己创建的对象都属于自定义对象,而内置对象又称为API,是指JavaScript语言自己封装的一些对象,用来提供一些常用的基本功能,来帮助我们提高开发速度,例如:数学-Math、日期-Date......
  • Java中反射的机制
    反射目录反射反射的概念反射的作用反射的原理直接使用类使用反射总结什么情况下使用反射反射的优缺点反射是否真的会让你的程序性能降低?反射的概念反射(Reflection)是Java的一种特性,它可以让程序在运行时获取自身的信息,并且动态地操作类或对象的属性、方法和构造器等。通过反......
  • JVM系列1:深入分析Java虚拟机堆和栈及OutOfMemory异常产生原因
    JVM系列1:深入分析Java虚拟机堆和栈及OutOfMemory异常产生原因前言JVM系列文章如无特殊说明,一些特性均是基于HotSpot虚拟机和JDK1.8版本讲述。下面这张图我想对于每个学习Java的人来说再熟悉不过了,这就是整个JDK的关系图: 从上图我们可以看到,JavaVirtualMachine位于最底......
  • [Java原创精品]基于Springboot+Vue的仿小红书博客论坛系统,社交媒体平台,含DFA敏感词过
    项目提供:完整源码+数据库sql文件+数据库表对应Excel文件项目获取看主......
  • java算法OJ(2)链表
    目录1.前言2.正文2.1合并俩个有序链表2.1.1题目描述2.1.2示例2.1.3代码2.2俩数相加2.2.1题目描述2.2.2示例2.2.3代码2.3分割链表2.3.1题目描述2.3.2示例2.3.3代码3.小结1.前言哈喽大家好吖,今天来对先前学习的链表进行巩固,做几道算法题,如果大家有更加优良的......
  • Java中的专有名词——JVM、JRE、JDK到底是什么关系
            相信刚开始学习Java的同学一定见过“JVM、JDK、JRE”这三个专有名词,那他们到底代表的是什么,三者之间又有何种关系呢?        下面我们先来介绍一下三者:1.JVM    JVM:Java虚拟机(JavaVirtualMachine,JVM)是运行Java字节码的虚拟机。JVM有......