Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

180
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda