Tengo una lista de palabras que deben ser legibles por el ser humano, como Nombre al primer nombre, Apellido al apellido y, en algunos casos, acrónimos como ARB para que permanezcan como están. Este último fue introducido recientemente y ha causado un problema de visualización ya que nuestra expresión regular devuelve AR Bs. Esto es lo que tenemos, que sé que es insuficiente para acrónimos:Cadena de PascalCase dividida a excepción de los acrónimos
([A-Z][a-z]+)
que he encontrado otras expresiones de SO y en otros sitios que son capaces de trabajar con las siglas, sin embargo, que trabajan en las cadenas donde el acrónimo está dentro de la cadena en lugar de ser la cadena completa. Puedo hacer expresiones regulares simples, pero esto es demasiado complicado para mis habilidades. Proporcionaría otros ejemplos para probar si los tuviera, pero todas las cadenas funcionan bien, excepto la nueva, ARB. Gracias.
Actualización: Aquí está el uso de código de
string friendlyName = Regex.Replace(field.Name, "([A-Z][a-z]+)", " $1", RegexOptions.Compiled).Trim();
Desafortunadamente este problema puede acabar con la ambigüedad resuelta, por ejemplo, qué 'ConfigureIDEAsUser' divide a "Configurar IDE como usuario" o "Configurar IDEAs usuario"? –