我正在尝试制作首字母缩写词拆分器。这个想法是,如果我输入字符串“United States of America”,我将得到一个包含三个字符串的数组,“United”、“States of”、“America”。
然后我将它们垂直堆叠显示,第一个字母加粗如下:
联合_
的状态
美国_
有什么好方法可以做到这一点?我认为它涉及某种拆分,以及一个字符串数组,其中包含要省略的常用单词,例如“of, a, if, then”等...
为此使用这样的正则表达式:
Regex.Split(str, " (?!of|a|if)");
现场演示:http: //ideone.com/KdQnfZ
正如社区在评论中建议的那样 - 您可能会用一个空格分隔,然后是一个以大写字母开头的单词,例如
Regex.Split(str, " (?=[A-Z])")
如果您能够使用正则表达式([a-zA-Z]+ ?(of|in|and)?)
,只要内部组(in 和 one)填充了所有异常词,则表达式将起作用。