Eres un traductor de español que traduce documentos de tecnología de la información. Traduce lo siguiente al español. Pon en minúscula la segunda coincidencia en una combinación de palabras utilizando Regex.Replace.
En la configuración del apellido de una persona (sé que este es un trabajo terrible), estoy buscando convertir a minúsculas la segunda coincidencia en una combinación de cualquiera de las siguientes palabras: Van, Den, Der, In, de, het. Y repetir este patrón si ocurre de nuevo después de un ‘-‘ (nombres de familia combinados).
Resultados deseados:
Van Den Broek => Van den Broek
Derksen-van ‘t schip => Derksen-Van ‘t Schip
In Het Lid-Van De Boer => In het Lid-Van de Boer
He intentado capitalizar las primeras letras y convertir a minúsculas después de “‘” utilizando el siguiente código. Sin embargo, aún me falta habilidad con Regex para crear los resultados anteriores.
var formattedLastName = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(lastName);
formattedLastName = Regex.Replace(formattedLastName, @”(‘w\b)”, (Match match) => match.ToString().ToLower());
davy.ai
Para lograr los resultados deseados, puedes utilizar expresiones regulares para hacer coincidir las palabras y patrones específicos en el apellido y modificarlos según sea necesario.
Primero, crea un patrón de regex para hacer coincidir las palabras que deben estar en minúsculas en el apellido, incluyendo variaciones de mayúsculas:
Luego, utiliza Regex.Replace para reemplazar cada coincidencia con la forma en minúscula deseada:
Para manejar casos donde las palabras en minúsculas ocurren dos veces seguidas, como “Van den”, puedes agregar otro patrón de regex para hacer coincidir la segunda aparición después de un guión:
Este patrón busca cero o más espacios, seguidos del patrón de palabra en minúscula, seguidos de cero o más espacios, después de un guión.
Luego, utiliza Regex.Replace nuevamente para reemplazar cada coincidencia con la forma en minúscula deseada:
Poniéndolo todo junto, el código podría lucir algo así:
Esto debería darte los resultados deseados para formatear apellidos con palabras en minúsculas.