我对 Ruby 了解不多,但我有这行代码,我想知道它到底做了什么:
newline.gsub!(/\s+(های)\s+/,'\1 ')
我很感激这方面的任何帮助。
如果字符串包含带有一个或多个空格字符的波斯语短语(前后都有),则正则表达式匹配。
然后它用字符串替换它\1
。the\1
指的是第一个匹配的元素。因此,它会删除字符串周围的所有空格,并在元素后添加一个空格。
例子
我正在取值test
而不是 Parsi 短语,因为 unicode 没有成功。
newline = " test "
=> " test "
newline.gsub!(/\s+(test)\s+/,'\1 ')
=> "test "
文档说:
gsub!(pattern, replacement) → str or nil
因此,如果您的表达式与模式匹配,它将返回替换的字符串,否则返回nil
。(基本上删除波斯语字符串之前的所有空格,并用单个空格替换它后面的空格。)