Web sayfalarından çıkarılan bazı metin verilerini yamayı isterim. örnek:Gruplama kullandığımda Ruby düzenli ifadesinde (regex) gsub ile nasıl geri alınır?
t="First sentence. Second sentence.Third sentence."
ikinci cümlenin sonuna noktadan sonra boşluk yoktur. Bu, 3. cümlenin orijinal belgede ayrı bir satırda (br etiketinden sonra) olduğunu işaret ediyor.
"\ n" karakterini uygun yerlere eklemek ve metnimi yapıştırmak için bu regexp'i kullanmak istiyorum. Benim regex:
t2=t.gsub(/([.\!?])([A-Z1-9])/,$1+"\n"+$2)
Ama ne yazık ki çalışmıyor: "NoMethodError: tanımsız yöntem` +' nil için: NilClass" nasıl düzgün bir eşleştirilmiş gruplara bir geriye edebilir? Microsoft Word'de bu kadar kolaydı, \ 1 ve \ 2 sembollerini kullanmak zorunda kaldım.
Numaralandırılmış globals ('$ 1',' $ 2', ...) ikinci argüman değerlendirildiğinde ayarlanmaz; bunlar gsub' tarafından bloğa verilmeden önce ayarlanır. Bu nedenle, '' \ 1 '' ne zaman kullanılacağını ve '$ 1' değerini ne zaman kullanacağına dair sawa'nın tavsiyesi. –