TokenAt() is a good way to do that. Then C2 manual say:
tokenat(src, index, separator)
Return the Nth token from src, splitting the string by separator. For example, tokenat("apples|oranges|bananas", 1, "|") returns oranges.
tokencount(src, separator)
Count how many tokens occur in src using separator. For example, tokencount("apples|oranges|bananas", "|") returns 3.
So, rather than "(av:james) Hi my name is james" you might just want to have "james|Hi my name is james"
then tokenat("james|Hi my name is james",0,"|") will return the avatar, and tokenat("james|Hi my name is james",1,"|") will return the text for him to say.
You can chain together strings, using different tokens if you want.
"james|Hi my name is james#susan|Hello there!#ben|Good day, eh?"
just be sure to use tokens that wont appear in your text, or if you are going to pass the strings to php (to save in a database) don't use a symbol that may cause trouble there (like "&")