参考JDK String 类的 trim 方法实现

/**

* 去掉回车、空格、制表符

*

* @param str 原字符串

* @return 转换后的字符串

*/

private static String trimAll(String str){

if (str == null){

return null;

}

if (str.length() == 0){

return str;

}

// 去掉空格

str = str.trim();

// 去掉回车

str = trimR(str);

// 去掉换行符

str = trimN(str);

// 去掉制表符

str = trimT(str);

return str;

}

/**

* 去掉字符串左右回车

*

* @param str 原字符串

* @return 转换后的字符串

*/

private static String trimR(@NotNull String str){

int len = str.length();

int st = 0;

char[] val = str.toCharArray();

while ((st < len) && (val[st] <= '\n')) {

st++;

}

while ((st < len) && (val[len - 1] <= '\n')) {

len--;

}

return ((st > 0) || (len < str.length())) ? str.substring(st, len) : str;

}

/**

* 去掉字符串左右换行

*

* @param str 原字符串

* @return 转换后的字符串

*/

private static String trimN(@NotNull String str){

int len = str.length();

int st = 0;

char[] val = str.toCharArray();

while ((st < len) && (val[st] <= '\r')) {

st++;

}

while ((st < len) && (val[len - 1] <= '\r')) {

len--;

}

return ((st > 0) || (len < str.length())) ? str.substring(st, len) : str;

}

/**

* 去掉字符串左右制表符

*

* @param str 原字符串

* @return 转换后的字符串

*/

private static String trimT(@NotNull String str){

int len = str.length();

int st = 0;

char[] val = str.toCharArray();

while ((st < len) && (val[st] <= '\t')) {

st++;

}

while ((st < len) && (val[len - 1] <= '\t')) {

len--;

}

return ((st > 0) || (len < str.length())) ? str.substring(st, len) : str;

}

java trim 换行符_JAVA去掉字符串左右两边的回车、空格、制表符、换行符相关推荐

  1. java replace 忽略大小写_java替换字符串时忽略大小写

    替换字符串大家都用的很熟悉了,但是估计日常很少用到替换时忽略大小写,今天问了身边几个工作超10年的java程序员,竟然大家都不知道怎么写了,这种基础代码竟然都淡忘了.正好学习整理一下,在这里也分享备忘 ...

  2. java 正则表达式替换多个全角空格为一个半角空格_去掉字符串两端的全角空格和半角空格(含源代码)...

    昨天,遇到了一个技术问题.本来我在程序中用的trim()方法来处理从JSP页面传来的值,后来在测试时,发现当我输入的是全角空格时,trim()方法失效. 需求是这样的,只是去掉字符串两端的空格(不论是 ...

  3. java怎么显示空格符_Java在字符串中看不到空格

    因此,我正在尝试解析一些具有多行文本的文本文件.我的工作是遍历所有单词并将其打印出文件. 因此,我阅读了所有行,然后遍历它们,并用空格将每一行分开,如下所示: line.split("\\s ...

  4. java查找字符位置_java 查找字符串所在的位置代码

    使用了 string 类的 indexof() 方法在字符串中查找子字符串出现的位置,如过存在返回字符串出现的位置(第一位为0),如果不存在返回 -1.方便判断和截取字符串! 语法:stringobj ...

  5. 去掉字符串两端的全角空格和半角空格(含源代码)

    昨天,遇到了一个技术问题.本来我在程序中用的trim()方法来处理从JSP页面传来的值,后来在测试时,发现当我输入的是全角空格时,trim()方法失效. 需求是这样的,只是去掉字符串两端的空格(不论是 ...

  6. C++去掉字符串首尾的特殊字符(比如空格)

    C++标准库提供的字符串类string没有提供类似CString中Trim方法,该方法功能为去除字符串前后的空白字符.利用string自身一些方法可以很容易实现该功能. 如下: void Trim(s ...

  7. js去掉html标签和去掉字符串文本的所有的空格

    去掉html标签的js <script>  function delHtmlTag(str){   return str.replace(/<[^>]+>/g," ...

  8. js去除html空格字符,js去掉html标签和去掉字符串文本的所有的空格

    function delHtmlTag(str){ return str.replace(/]+>/g,"");//去掉所有的html标记 } var str = " ...

  9. java字符串 n换行符_java切割字符串中的回车应注意是\n\r不是\n

    我们在Java中如果用到处理要分隔字符串,不免会用到String的split(String regex)函数,这时候我们要注意的. 如果想以回车来分隔字符串,很多同学都会这样做.下面是例子: Stri ...

  10. java replace换行符_Java 替换字符串中的回车换行符的方法

    使用正则表达式进行替换: 代码片段: string documenttxt = entityutils.tostring(entity,"gbk");//获取数据 document ...

最新文章

  1. mysql submission_date_UiPath如何连接MySQL
  2. 洛谷P2679 子串
  3. 我命由我不由天,5个月逆袭百度,头条AI岗位,来挑战吗?
  4. java编译器使用教程_Java编译器API简介
  5. java 接口的观察者模式_java观察者模式
  6. CentOS7下的AIDE***检测配置
  7. c语言程序设计实验实训教程公众号,C语言程序设计基础知道答案公众号
  8. JAR包、WAR包及EAR包的区别
  9. JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理
  10. C语言 打印数组为什么要用循环
  11. 使用poedit汉化wordpress的插件
  12. Buying Hay 购买干草 完全背包
  13. 4.文件系统的类型和结构
  14. Qualcomm 处理器 Krait架构
  15. BugKu CTF(杂项篇MISC)---细心的大象
  16. Linux基础命令---find
  17. 重根的二阶迭代法matlab,MATLAB用二分法、不动点迭代法及Newton迭代(切线)法求非线性方程的根...
  18. 看完这一篇后我同事说我写代码像写诗
  19. APPnium-IOS自动化测试
  20. 关于无法安装Win补丁KB2686509的解决方案

热门文章

  1. Xshell连接VMware虚拟机(CentOs7)
  2. Java网络爬虫实操(6)
  3. makefile中伪目标的理解
  4. respondsToSelector
  5. C++关键字(static-register-atuo-extern-volatile-const)
  6. 一些 NSArray 的基本操作代码例子
  7. 谷歌换帅 佩奇将接任CEO[转]
  8. 如何使页面POSTBACK后,仍然显示原来的显示位置
  9. 系统设计---分层,分级,分块
  10. OpenCV---圆检测