2011-09-24 14 views

cevap

21

bu deneyin:

Yan not
clean_string = old_string.gsub(/[()]/, "") 

, Rubular hızlı bir şekilde düzenli ifadeler test etmek müthiş. düzenli ifade olmadan

+0

Güzel, şüpheci ama sonra denedim ve işe yaradı. Genel olarak, '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' ile kaçmak gerekmiyor mu O zaman bile (ilk karakter gibi), sadece konumsal ayar ve tire ve - –

+0

Tipik olarak tam anlamıyla '[]' karakter sınıfları içinde tedavi tek karakter] olan, \, ^, ve. – numbers1311407

+0

Ben hızlı test yaptım, size (en azından yakut 1.9.2 üzerine) kaçmak için gereken tek olanlar gibi görünüyor vardır [,],/ve \. Çok Rubular için Rubular –

27

:

"yellow-corn-(corn-on-the-cob)".delete('()') #=> "yellow-corn-corn-on-the-cob" 
+0

çok okunabilir ve elverişli, hatta ' '[foo]'. Silmek şekilde parantez kaçmak için ihtiyacım yok ('[]')' döner basitçe ' 'foo'' :) –

+0

+++ Bu bir çok daha basit ve Seçilen bir imodan daha uygun cevap. –

İlgili konular