Python’s sklearn package should have something similar to C4.5 or C5.0 (i.e. CART), you can find some details here: 1.10. Decision Trees.
Other than that, there are some people on Github have implemented their versions and you can learn from it:
geerk/C45algorithm
michaeldorner/DecisionTrees
Python’s sklearn consists of lots of different versions of decisions trees and you can have access and try them on your behalf. There are sample code that you can use to help with yourself.
If your data consists of strings, then you probably need to do some preprocessing. If your string column (i.e. feature) is categorical (i.e. color, type, etc.), you can use python pandas’ pandas.get_dummies - pandas 0.18.1 documentation to transform them to a bunch of binary columns (known as one-hot encoding). If your string column is just strings (i.e. names, website links, some text), you probably need to perform some natural language processing techniques and extract useful features out of it.