1

我正在尝试制作首字母缩写词拆分器。这个想法是,如果我输入字符串“United States of America”,我将得到一个包含三个字符串的数组,“United”、“States of”、“America”。

然后我将它们垂直堆叠显示,第一个字母加粗如下:

联合_

状态

美国_

有什么好方法可以做到这一点?我认为它涉及某种拆分,以及一个字符串数组,其中包含要省略的常用单词,例如“of, a, if, then”等...

4

2 回答 2

4

为此使用这样的正则表达式:

Regex.Split(str, " (?!of|a|if)");

现场演示:http: //ideone.com/KdQnfZ

正如社区在评论中建议的那样 - 您可能会用一个空格分隔,然后是一个以大写字母开头的单词,例如

Regex.Split(str, " (?=[A-Z])")
于 2013-05-07T02:34:00.130 回答
1

如果您能够使用正则表达式([a-zA-Z]+ ?(of|in|and)?),只要内部组(in 和 one)填充了所有异常词,则表达式将起作用。

于 2013-05-07T02:33:53.223 回答