有一个数组test_array
,其中包含一个与 . 分开的字符串.split(' ')
。所以每个项目的最后一个字符可以是'.'
, '-'
,'!'
和任何其他非单词类型。目标是将这个字符作为一个单独的项目插入到数组中,并从它的源中删除。
l=0
test_array= @test.source.split(' ')
test_array. each do |f|
if f[-1]== /[^\w]/
test_array.insert(l+1, f[-1])
f=f.chop
l+=1
else
l+=1
end
end
/[^\w]/
是任何非单词字符的正则表达式。
由于某种原因,它不起作用。尝试调试一个小时,没有解决方案。
UPD 例如,输入是:
[ “该”“模式”、“是”、“典型”、“a”、“正则表达式;
”、“如果:
” ]
输出应该是:
[ “该”“模式”、“是”、“典型”、“a”、“正则表达式”、“ ” ;
、“如果” 、 “ :
” ]