¿Cuál es la manera más eficiente de contar todas las ocurrencias de un carácter específico en una cadena de PHP?¿Cuál es la manera más eficiente de contar todas las apariciones de un personaje específico en una cadena PHP?
Respuesta
¿No puedes alimentar al personaje al preg_match_all?
No es eficiente usar una expresión regular solo para buscar un carácter estático. –
seguro de qué tipo de respuesta que estás buscando, pero aquí es una función que podría hacerlo:
function findChar($c, $str) {
indexes = array();
for($i=0; $i<strlen($str); $i++) {
if ($str{$i}==$c) $indexes[] = $i;
}
return $indexes;
}
pasarlo al personaje que está buscando y la cadena que desea buscar:
$mystring = "She shells out C# code on the sea shore";
$mychar = "s";
$myindexes = $findChar($mychar, $mystring);
print_r($myindexes);
se le debe dar algo así como
Array (
[0] => 0
[1] => 4
[2] => 9
[3] => 31
[4] => 35
)
o algo ...
Si va a ser comprobar repetidamente la misma cadena, que sería buena idea tener algún tipo de trie o gama aún Assoc porque de lo contrario, el camino directo de hacerlo es ...
for($i = 0; $i < strlen($s); $i++)
if($s[i] == $c)
echo "{$s[i]} at position $i";
¿qué tal si queremos una búsqueda insensible a mayúsculas y minúsculas? php '$ str = 'fksjfkds fddshfhhfahhdF asdfhas aunfa fdsjf ds'; $ c = 'f'; $ indexes = 0; for ($ i = 0; i <$ strlen ($ str); $ i ++) { \t \t if ($ str [$ i] == $ c) { \t \t \t $ índices ++; \t \t} } echo $ indexes 'pero no cuenta el capital" F " – Prashant
algo como esto también funciona para esto:
$string = 'blabla';
$searchitem = 'a';
$pieces = explode("$searchitem",$string);
echo count($pieces).' times ' . $searchitem . ' character(s) is/are used ';
esto estaba trabajando para mí. Por favor intente abajo código:
$strone = 'Sourabh Bhutani';
$strtwo = 'a';
echo parsestr($strone, $strtwo);
function parsestr ($strone, $strtwo) {
$len = 0;
while ($strtwo{$len} != '') {
$len++;
}
$nr = 0;
while ($strone{$nr} != '')
{
if($strone{$nr} != ' ')
{
$data[$nr] = $strone{$nr};
}
$nr++;
}
$newdata = $data;
if($len > 1)
{
$newdata = array();
$j = 0;
foreach($data as $val)
{
$str .= $val;
if($j == ($len -1))
{
$newdata[] = $str;
$str = '';
$j = 0;
}
else
$j++;
}
}
$i = 0;
foreach ($newdata as $val) {
if($val == $strtwo)
{
$i++;
}
}
return $i;
}
- 1. Reemplazar todas las apariciones de subcadena en una cadena, ¿qué es más eficiente en Java?
- 2. ¿La manera más eficiente de contar las ocurrencias?
- 3. ¿Cuál es la forma más rápida de encontrar todas las apariciones de una subcadena?
- 4. ¿Cuál es la manera más eficiente de contar filas en una tabla en SQLite?
- 5. Manera eficiente de encontrar la Frecuencia de un personaje en una Cadena en java: O (n)
- 6. Eliminar todas las apariciones de varios caracteres de una cadena
- 7. manera más eficiente de extraer una cadena
- 8. ¿Cuál es la manera más rápida de contar nuevas líneas en una cadena .NET grande?
- 9. Índice de devolución de todas las apariciones de un carácter en una cadena en ruby
- 10. Python, eliminar todas las apariciones de cadena en la lista
- 11. ¿Cuál es la prueba más eficiente de si una cadena PHP termina con otra cadena?
- 12. En C++, ¿cuál es la manera más rápida de reemplazar todas las ocurrencias de una subcadena dentro de una cadena con otra cadena?
- 13. Manera eficiente de actualizar todas las filas en una tabla
- 14. ¿Cómo eliminar todas las apariciones de c2a0 en una cadena con PHP?
- 15. ¿Cuál es más eficiente, funciones de cadena PHP o expresiones regulares en PHP?
- 16. UNIX - contar las apariciones de caracteres por línea/campo
- 17. ¿Cuál es la mejor manera de dividir una cadena para obtener todas las subcadenas de Ruby?
- 18. ¿Cuál es la mejor manera de contar vistas de página en PHP/MySQL?
- 19. javascript eliminar todas las apariciones de un carácter en una cadena
- 20. C++ función para contar todas las palabras en una cadena
- 21. ¿Cuál es la manera más eficiente de lanzar una lista como un marco de datos?
- 22. cómo eliminar todas las apariciones de punto en una cadena en un script de shell?
- 23. ¿Cómo eliminar todas las apariciones de un carácter dado de una cadena en C?
- 24. Buscar todas las apariciones de una función en Eclipse
- 25. ¿Forma más eficiente de contar intersecciones?
- 26. ¿Cuál es la forma más eficiente de encontrar qué usuarios prefieren un tweet específico?
- 27. cómo contar las palabras en una cadena específica en PHP?
- 28. ¿Cómo contar las ocurrencias de un valor de columna de manera eficiente en SQL?
- 29. ¿Cuál es la forma más eficiente de ordenar un NSSet?
- 30. manera más eficiente para obtener todos los índices de un carácter en una cadena
¿Quiere decir en una cadena? ¿Y quieres que se te devuelva el número encontrado? – alex
la pregunta es ciertamente eficiente en el uso de los caracteres –
Sí, ¿Stack overflow es el nuevo Twitter? –