Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems
Regular expressions - findall or split?

Posted by enquirer (enquirer), 5 April 2006
I want to extract useful information from within a string and discard the remainder  in my Python classes - should I use findall, split, or something else?

Posted by admin (Graham Ellis), 5 April 2006
Python's findall and split work from opposite "ends" of the problem ... findall returns everything that matches a pattern within a string, whereas split locates all the strings you want to eliminate and returns the remaining parts.

In general, if you want to pick out just a few elements (or a small proportion) of the line, findall will do you the best job, but if you want to throw away just a few separators and delimiters, the you'll probably find that split will be the better choice.

A similar thing applies to other languages - in Perl, for example, you would be best to use split if you wanted to keep most of the data and throw away separators, but an =~ match is you were looking to cherry pick.

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2018: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • FAX: 01225 793803 • EMAIL: • WEB: • SKYPE: wellho