Section 3.1. Introduction
Section 3.2. Processing a String One Character at a Time
Section 3.3. Testing if an Object Is String-Like
Section 3.4. Aligning Strings
Section 3.5. Trimming Space from the Ends of a String
Section 3.6. Combining Strings
Section 3.7. Checking Whether a String Contains a Set of Characters
Section 3.8. Filtering a String for a Set of Characters
Section 3.9. Controlling Case
Section 3.10. Reversing a String by Words or Characters
Section 3.11. Accessing Substrings
Section 3.12. Changing the Indentation of a Multiline String
Section 3.13. Testing Whether a String Represents an Integer
Section 3.14. Expanding and Compressing Tabs
Section 3.15. Replacing Multiple Patterns in a Single Pass
Section 3.16. Converting Between Different Naming Conventions
Section 3.17. Converting Between Characters and Values
Section 3.18. Converting Between Unicode and Plain Strings
Section 3.19. Printing Unicode Characters to Standard Output
Section 3.20. Dispatching Based on Pattern Matches
Section 3.21. Evaluating Code Inside Strings
Section 3.22. Replacing Python Code with the Results of Executing That Code
Section 3.23. Module: Yet Another Python Templating Utility (YAPTU)
Section 3.24. Module: Roman Numerals