字符串:用数字替换空格

| 我想将一个字符串中的每个“ 0”替换为一个fixnum(即“ 0”的数目)。 让我举个例子吧:
s = \"hello,   how          are  you ?\"
omg(s) # => \"hello,3how10are2you1?\"
您是否看到一种更新字符串的方法(如果可能的话,可能是性感的)? 谢谢你摩擦论者:)     
已邀请:
        
gsub
可以作为参数“替换为”的块,该块的结果将插入找到匹配项的位置。该块的参数是匹配的字符串。因此,要实现此功能,我们将捕获尽可能多的空格(
/\\s+/
),并在每次找到节时将其输入到块中,并返回该字符串的长度,该长度将返回到最初找到空格的位置。 码:
s = \"hello,   how          are  you ?\"
res = s.gsub(/\\s+/) { |m| m.length }
puts res
# => hello,3how10are2you1?
    
        可以通过数组拆分来做到这一点:Javascript示例
var s = \"hello,   how          are  you ?\";

function omg( str ) {
    var strArr = str.split(\'\');
    var count = 0;
    var finalStr = \'\';
    for( var i = 0; i < strArr.length; i++ ) {
        if( strArr[i] == \' \' ) {
            count++;
        }
        else 
        {
            if( count > 0 ) {
                finalStr += \'\' + count;
                count = 0;
            }  

            finalStr += strArr[i];
        }
    }
    return finalStr
}

alert( omg( s ) ); //\"hello,3how10are2you1?\"
大声笑,这似乎是最好的JavaScript     

要回复问题请先登录注册