-1

我对 Ruby 了解不多,但我有这行代码,我想知道它到底做了什么:

newline.gsub!(/\s+(های)\s+/,'‌\1 ')

我很感激这方面的任何帮助。

4

2 回答 2

1

如果字符串包含带有一个或多个空格字符的波斯语短语(前后都有),则正则表达式匹配。

然后它用字符串替换它\1。the\1指的是第一个匹配的元素。因此,它会删除字符串周围的所有空格,并在元素后添加一个空格。

例子

我正在取值test而不是 Parsi 短语,因为 unicode 没有成功。

newline = "    test   "
=> "    test   "
newline.gsub!(/\s+(test)\s+/,'\1 ') 
=> "test "
于 2014-01-23T13:37:45.040 回答
1

文档说:

gsub!(pattern, replacement) → str or nil

因此,如果您的表达式与模式匹配,它将返回替换的字符串,否则返回nil。(基本上删除波斯语字符串之前的所有空格,并用单个空格替换它后面的空格。)

于 2014-01-23T13:38:01.037 回答