Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

192
Vistas
¿Cómo saco todas las demás palabras de una cadena?

Soy nuevo en C# y solo sé lo básico. Estoy buscando un ejemplo de código sobre cómo obtendría cada dos palabras de una variable de cadena. Por ejemplo, si la variable fuera

 String x = "Help me, coding is difficult";

Me gustaría devolver una sola cadena "Ayuda con la codificación difícil". Debe ser una función que tome una cadena y devuelva una versión filtrada de la misma.

Alguien sugirió duplicados que en su mayoría ya había visto durante mi investigación:

  • ¿Cómo dividir el texto en palabras? muestra una lógica muy complicada que tiene en cuenta la puntuación, por ejemplo. Creo que estoy bien solo para confiar en los espacios, pero si tiene una mejor sugerencia con una explicación, sería bueno.
  • Seleccione cada segundo elemento de la matriz usando lambda : parece prometedor, pero la muestra muestra cómo trabajar con una matriz de enteros. Tengo una cadena (o tal vez una matriz de cadenas si se puede adaptar el código de división de cadenas para proporcionar una).
  • C# Imprime una lista de matrices de cadenas que también suena prometedora pero muestra cómo imprimir el resultado, no cómo devolverlo como valor de una función.
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

string s = "You win some. You lose some."; string[] subs = s.Split(' '); for(int i=0 ; i < subs.length ; i+=2) { Console.WriteLine($"Substring: {sub[i]}"); }
over 4 years ago · Santiago Trujillo Denunciar

0

Primero debe definir qué son los delimitadores de palabras, solo un espacio, una coma, un punto o punto y coma o ¿qué más? Entonces puedes usar String.Split .

 char[] wordDelimiter = new[] { ' ','\t', ',', '.', '!', '?', ';', ':', '/', '\\', '[', ']', '(', ')', '<', '>', '@', '"', '\'' }; String x = "Help me, coding is difficult"; string[] words = x.Split(wordDelimiter, StringSplitOptions.RemoveEmptyEntries);

Ahora tienes una matriz con todas las palabras. Pero quiere uno al otro, puede llenarlos en una List<string> y usar un for-loop que se salta uno al otro:

 var everyOtherWord = new List<string>(); for(int i = 0; i < words.Length; i += 2) { everyOtherWord.Add(words[i]); }

Me gustaría devolver "Ayuda con la codificación difícil"

Entonces, ¿realmente quieres tener una string como resultado que contenga estas palabras separadas por espacios? Luego use String.Join (de alguna manera el método de contraparte de String.Split ):

 string result = string.Join(" ", everyOtherWord);
over 4 years ago · Santiago Trujillo Denunciar

0

Suponiendo que cuenta una palabra como "cada carácter entre espacios, o el inicio/final de la cadena", y no está tratando de eliminar ninguna letra.

 var input = "Help me, coding is difficult"; var everyOther = input .Split(' ') .Where((x, i) => i % 2 == 0); Console.WriteLine(string.Join(" ", everyOther));

El código para el Where fue tomado de esta publicación .

La idea es usar la sobrecarga de Where que le da el valor del índice y ver si ese valor del índice es par, si es así, inclúyalo en los resultados.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda