2 responses
Very handy. You can make it with "sandbox" JavaScript, and then it would work on TextExpander touch as well. --------------------- function toTitleCase(theString){ var smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i; return theString.replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g, function(match, index, title){ if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ":" && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\s-]/) -1) { return match; } return match.charAt(0).toUpperCase() + match.substr(1); }); }; toTitleCase(TextExpander.pasteboardText);
If you're not worried about it working in TE touch, the python solution is nice and simple as well #!/usr/bin/python import sys cb = '%clipboard' sys.stdout.write(cb.title())