如何解决字符串:用数字替换空格
| 我想将一个字符串中的每个“ 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。