论坛首页 Java企业应用论坛

trim函数设计的困惑

浏览 4976 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2010-10-18  



在Java中,String trim() 返回字符串的副本,忽略前导空白和尾部空白。

但是在JS和MySQL中都是只提供 LTRIM (string2 ) //去除前端空格 这样的函数

为什么呢?

2种不同的哲学思想 吗?

 

js和MySQL库的设计者,只提供最基本的功能,函数做到单一指责,库的设计更简单。trim()函数功能可以由ltrim() + rtrim()得到。

 

java的设计者,是为了使用者的方便?

困惑中。。。。。。

   发表时间:2010-10-18  

mysql自带是有trim函数 下面是mysql手册的说明

  • TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)

返回字符串 str , 其中所有remstr 前缀和/或后缀都已被删除。若分类符BOTHLEADINTRAILING中没有一个是给定的,则假设为BOTH remstr 为可选项,在未指定情况下,可删除空格。

mysql> SELECT TRIM('  bar   ');

        -> 'bar'

 

至于js中 没有现成的方法功能是去除头尾空白符的方法

一般第三方的框架里面会扩展出这个方法 下面的这个trim是一个函数

function trim(str)
{
    return str.replace(/^\s+|\s+$/g, '');
}
 
0 请登录后投票
   发表时间:2010-10-19  
long2302578 写道

mysql自带是有trim函数 下面是mysql手册的说明

  • TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)

返回字符串 str , 其中所有remstr 前缀和/或后缀都已被删除。若分类符BOTHLEADINTRAILING中没有一个是给定的,则假设为BOTH remstr 为可选项,在未指定情况下,可删除空格。

mysql> SELECT TRIM('  bar   ');

        -> 'bar'

 

至于js中 没有现成的方法功能是去除头尾空白符的方法

一般第三方的框架里面会扩展出这个方法 下面的这个trim是一个函数

function trim(str)
{
    return str.replace(/^\s+|\s+$/g, '');
}

 

谢谢!

 

我的困惑主要是为什么API要那样设计

0 请登录后投票
   发表时间:2010-10-19  
mtnt2008 写道
long2302578 写道

mysql自带是有trim函数 下面是mysql手册的说明

  • TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)

返回字符串 str , 其中所有remstr 前缀和/或后缀都已被删除。若分类符BOTHLEADINTRAILING中没有一个是给定的,则假设为BOTH remstr 为可选项,在未指定情况下,可删除空格。

mysql> SELECT TRIM('  bar   ');

        -> 'bar'

 

至于js中 没有现成的方法功能是去除头尾空白符的方法

一般第三方的框架里面会扩展出这个方法 下面的这个trim是一个函数

function trim(str)
{
    return str.replace(/^\s+|\s+$/g, '');
}

 

谢谢!

 

我的困惑主要是为什么API要那样设计

 

 

亚洲人的思想跟西方人的思想毕竟是差别很大的,所以不必纠结于西方女人比亚洲女人开放问题

8 请登录后投票
   发表时间:2010-10-19  
最好有一个比较低级的实现, 正则表达式替换很慢的.

有一次, 在perl 中. 想找trim, 没有,

看网上有人自己写的trim, 用了一下. 读个文件死慢..

0 请登录后投票
   发表时间:2010-10-20  
正则表达式会很慢?正则应该是最高效的。。
0 请登录后投票
   发表时间:2010-10-20  
正则不会慢吧
0 请登录后投票
   发表时间:2010-10-20  
不明白,为什么正则是最高效的?
0 请登录后投票
   发表时间:2010-10-20  
String.prototype.trim= function(str)  
{  
    return str.replace(/^\s+|\s+$/g, '');  

0 请登录后投票
   发表时间:2010-10-20  
每个人的思想都是不一样的 至于问什么这样设计估计只有设计者自己知道
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics