当看到大写字母后跟小写字母且中间没有空格时,是否可以拆分字符串?

imj*_*imj 2 .net c# split

我有这个字符串:

string countries = "SpainUnited StatesItalyFrance";
Run Code Online (Sandbox Code Playgroud)

我需要分开国家。我能想到的方法是,当找到大写字母后跟小写字母时,将单词分开。

Ash*_*ani 5

您可以添加一个字符以进行分割Regex.Replace(),然后再按该字符进行分割:

    string countries = "SpainUnited StatesItalyFrance";
    string[] result =  Regex.Replace(countries, "(\\S)([A-Z][a-z])", "$1_$2")
    .Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

现场演示

  • 这将“美国”分为可能不想要的“美国”和“州”。 (4认同)
  • @HansKilian确实是-应该在分割中使用`'\ 0'`,而不是`''` (2认同)