如何从字符串中删除空格?

44

JavaScript似乎没有本地的trim()方法。使用JavaScript如何修剪字符串开头和结尾的空格?

19个回答

3
我使用本地JavaScript来实现此功能。
// Adding trim function to String object if its not there
if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
  }
}

使用方法如下

var myString = "                  some text                  ";

alert(myString.trim());

例子

// Adding trim function to String object if its not there
if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
  }
}

var str = "      some text              ";
console.log(str.trim());


1

微软 .NET 也有 String.trim 函数作为 JavaScript 基础类型扩展的一部分。如果你正在编写 ASP.NET 应用程序,它可以被使用。


1
我使用这个。
    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
    }

1

许多JavaScript问题的答案:jQuery

$j.trim(string)



注意:以上假设您的jQuery已经设置好:

<script type="text/javascript">$j = jQuery.noConflict();</script>

这比"$"更明智,比每次输入"jQuery"更简洁。


jQuery对象。比仅使用$符号更合理。<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript">$j = jQuery.noConflict();</script> - Peter Boughton
1
为什么$j$更合理? - Ben

0
这是一个老问题,但这些方法都对我没用。我只需要去掉前后空格,这就是我所做的。我的 div 标签有一个 id = start-date。
$("#start-date").text().trim()

“这是一个老问题,但是这些方法都对我没用。” 真的吗?甚至 K.R.提到的本地trim方法 都不行吗? - Franklin Yu

0

我使用这个:

处理函数。

 function trim($) { 
                return (typeof $ == "function" ? $() : $).replace(/[\s]*/g,"")
        }

        code example: 

        trim((function(){ return "a  b"})) // ab

        trim(" a  b") //ab

0

您可以使用以下内容...

function trim(str) {
    try {
        if (str && typeof(str) == 'string') {
            return str.replace(/^\s*|\s*$/g, "");
        } else {
            return '';
        }
    } catch (e) {
        return str;
    }
}

0

0
这可能不是最快的方法,也可能违反了 ".trim()" 的本意,但我不喜欢正则表达式(主要是因为它们需要花费很多时间才能弄清楚它们实际上是什么意思/做什么),我喜欢有一些东西,我知道无论是否有 jQuery 都可以工作(更不用说正确的版本,因为我尝试过使用 jQuery 1.4.2 中的 $.trim(myVar),但它不起作用),并且会消除所有额外的空格,而不仅仅是在结尾处,重建它应该有的样子:
function Trim(obj) {
    var coll = "";
    var arrObj = obj.split(' ');

    for (var i=0;i<arrObj.length;i++) {
        if (arrObj[i] == "") {
            arrObj.splice(i,1);  // removes array indices containing spaces
        }
    }
    //alert(arrObj.length);  // should be equal to the number of words
    // Rebuilds with spaces in-between words, but without spaces at the end
    for (var i=0;i<arrObj.length;i++) {
        if (arrObj[i] != "" && i != arrObj.length-1)
            coll += arrObj[i] + " ";
        if (arrObj[i] != "" && i == arrObj.length-1)
            coll += arrObj[i];
    }

    return coll;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接