Pendekatan menghapus karakter yang menyinggung berpotensi menimbulkan masalah. Bagaimana jika ada .string lain di suatu tempat? Itu tidak akan dihapus, meskipun seharusnya!
Menghapus non-digit atau titik, string joe.smith ($3,004.50)akan berubah menjadi tidak dapat diuraikan .3004.50.
Imho, lebih baik mencocokkan pola tertentu, dan mengekstraknya menggunakan grup. Sesuatu yang sederhana adalah menemukan semua koma, angka, dan titik yang berdekatan dengan regexp:
[\d,\.]+
Contoh uji coba:
Pattern understood as:
[\d,\.]+
Enter string to check if matches pattern
> a2.3 fjdfadfj34 34j3424 2,300 adsfa
Group 0 match: "2.3"
Group 0 match: "34"
Group 0 match: "34"
Group 0 match: "3424"
Group 0 match: "2,300"
Kemudian untuk setiap pertandingan, hapus semua koma dan kirimkan ke parser. Untuk menangani kasus seperti ini 12.323.344, Anda dapat melakukan pemeriksaan lagi untuk melihat bahwa substring yang cocok memiliki paling banyak satu ..
joe.smith ($3,004.50)? Hanya menghapus kelas karakter yang menyinggung bisa menjadi sangat salah.