【问题标题】:Trim string, but return the number of spaces removed from the start修剪字符串,但返回从开头删除的空格数
【发布时间】:2012-01-19 13:14:24
【问题描述】:

我需要找出从字符串的开头删除了多少个字符,这是一个textarea输入的值,所以我可以确定光标选择的新开始位置。

$.trim() 会进行修剪,但我如何才能知道从一开始就占用了多少个字符?

【问题讨论】:

    标签: javascript jquery string trim


    【解决方案1】:

    使用indexOf() 方法查找原始字符串中修剪版本的出现。

    var string = "  aaa";
    var trimmed = $.trim(string); // aaa;
    var diff = string.indexOf(trimmed); // 2;
    

    您不能简单地比较长度,因为可能已经从字符串的末尾修剪了空格。

    【讨论】:

      【解决方案2】:

      这样的事情就可以解决问题

      var numberOfStartWS = yourOrigString.match(/^(\s*)/)[1].length;
      

      【讨论】:

        【解决方案3】:

        修剪后的字符串和未修剪的字符串长度之间的差异将是被修剪的字符数。

        【讨论】:

        • 当且仅当字符串末尾没有空格...但 OP 要求 从字符串开头删除的字符数跨度>
        • +1:是的,当然在这个假设下,我认为这是显而易见的,可以省略。
        【解决方案4】:

        您不能在修剪之前获取字符串的长度,然后在新修剪的字符串之间进行差异吗?

        【讨论】:

          猜你喜欢
          • 2011-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-08
          • 1970-01-01
          • 2016-09-30
          • 2011-12-22
          相关资源
          最近更新 更多