Estoy trabajando en .net C# y tengo una cadena text = "Cualquier texto que FFF pueda imaginarse FFF"; Lo que necesito es obtener la cantidad de veces que aparece el "FFF" en el texto de la cadena. ¿Cómo puedo lograr eso? Gracias.Cantidad de cadenas específicas dentro de una cadena
Respuesta
Se pueden utilizar expresiones regulares para esto y derecho sobre cualquier cosa que desee:
string s = "Whatever text FFF you can FFF imagine";
Console.WriteLine(Regex.Matches(s, Regex.Escape("FFF")).Count);
gracias tanto funciona perfectamente – euther
Uso del System.Text.RegularExpressions.Regex para esto:
string p = "Whatever text FFF you can FFF imagine";
var regex = new System.Text.RegularExpressions.Regex("FFF");
var instances = r.Matches(p).Count;
// instances will now equal 2,
Éstos son 2 enfoques. Tenga en cuenta que la expresión regular debería usar el metacaracter del límite de palabras \b
para evitar coincidencias incorrectas con otras palabras. Las soluciones publicadas hasta ahora no hacen esto, lo que incorrectamente contará "FFF" en "fooFFFbar" como una coincidencia.
string text = "Whatever text FFF you can FFF imagine fooFFFbar";
// use word boundary to avoid counting occurrences in the middle of a word
string wordToMatch = "FFF";
string pattern = @"\b" + Regex.Escape(wordToMatch) + @"\b";
int regexCount = Regex.Matches(text, pattern).Count;
Console.WriteLine(regexCount);
// split approach
int count = text.Split(' ').Count(word => word == "FFF");
Console.WriteLine(count);
+1 para la información útil. Sin embargo, el OP nunca especifica que está contando palabras, así que es una cuestión de interpretación. –
@ João gracias, I + 1 ya lo habías hecho antes de decidir publicar con estos enfoques adicionales. –
Aquí es una alternativa a las expresiones regulares:
string s = "Whatever text FFF you can FFF imagine FFF";
//Split be the number of non-FFF entries so we need to subtract one
int count = s.Split(new string[] { "FFF" }, StringSplitOptions.None).Count() - 1;
Desde aquí se puede modificar esto para usar varias cadenas diferentes si es necesario.
- 1. Resaltar cadenas específicas en una cadena larga dada en Javascript
- 2. Buscar subsecuencias de cadenas dentro de cadenas
- 3. ¿Cómo hacer que las cadenas de cantidad rusas funcionen correctamente?
- 4. Elimine palabras específicas de la cadena
- 5. Perl: ordenar caracteres dentro de una cadena
- 6. ¿Cómo contar la cantidad de veces que ocurre algo dentro de una determinada cadena?
- 7. Cómo dividir una cadena por x cantidad de caracteres
- 8. Comillas dentro de una cadena
- 9. Java: ¿Cómo dividir una cadena por una cantidad de caracteres?
- 10. El uso de una gran cantidad de cadenas codificada en código de
- 11. Separar una cadena en cadenas de elementos
- 12. Lista de cadenas a una cadena
- 13. Pasando una matriz de cadenas a webmethod con una cantidad variable de argumentos usando jQuery AJAX
- 14. Obtenga la cantidad de bytes necesarios para una cadena Unicode
- 15. javascript - cómo dividir una cadena cada X cantidad de caracteres?
- 16. ¿LIMIT 1 dentro de JOIN de tablas específicas en MySQL?
- 17. Cambie los modos de Emacs dentro de etiquetas específicas
- 18. Cuenta de PHP de ocurrencias de caracteres de una cadena dentro de otra cadena
- 19. C# Razor sintaxis dentro de una cadena
- 20. Incluir comillas dentro de una cadena?
- 21. Uso de múltiples constructores de cadenas para una cadena
- 22. Ruby hace cadena igual a una de las cadenas en una matriz de cadenas?
- 23. Cadenas de subcadenas dentro de SOLR
- 24. En R, reemplazar texto dentro de una cadena
- 25. Uso de cotización dentro de las cadenas en Delphi
- 26. C - Separar una cadena en una matriz de cadenas
- 27. ¿Es posible convertir una matriz de cadenas en una cadena?
- 28. Encuentra una cadena dentro de otra cadena, buscar hacia atrás
- 29. ¿Cómo insertar una cadena dentro de otra cadena?
- 30. Cadena dentro de una cadena Ej: pie = "Dijo" hola "" - C#
Creo que "frecuencia" es la mejor palabra que "cantidad". – polygenelubricants
¿"X FFFF Y" cuenta como cero, una o dos coincidencias? –
@polygenelubricants: No, "cantidad" es mejor que "frecuencia" aquí. (Aunque "el número" sería más idiomático que "la cantidad".) Una * cantidad * simplemente implica un conteo. Una * frecuencia * implica un recuento * con respecto a la frecuencia con que ocurre dado el tamaño de la muestra *. Por ejemplo, la * cantidad * de "FFF" en la oración dada es dos. La * frecuencia * de "FFF" es "cada tercera palabra". –