Supongamos que tengo una cadena '[email protected]'
. Quiero almacenar la cadena antes y después de "@" en 2 cadenas separadas. ¿Cuál sería el método más fácil de encontrar el carácter "@" u otros caracteres en la cadena?Encontrar un carácter específico en una cadena en Matlab
Respuesta
Usé strtok y strrep de Matlab en su lugar.
Por "más fácil",
>> email = '[email protected]'
email =
[email protected]
>> email == '@'
ans =
Columns 1 through 13
0 0 0 0 0 0 0 1 0 0 0 0 0
Columns 14 through 19
0 0 0 0 0 0
>> at = find(email == '@')
at =
8
>> email(1:at-1)
ans =
johndoe
>> email(at+1:end)
ans =
hotmail.com
Sería un poco más complicado si estuviera buscando algo con más de un carácter, o usted no estaba seguro de si había exactamente un @, y en ese case MATLAB tiene muchas funciones para buscar texto, incluidas las expresiones regulares (ver doc regexp
).
STRTOK y una operación de índice debe hacer el truco:
str = '[email protected]';
[name,address] = strtok(str,'@');
address = address(2:end);
O la última línea también podría ser:
address(1) = '';
TEXTSCAN también funciona.
str = '[email protected]';
parts = textscan(str, '%s %s', 'Delimiter', '@');
devuelve una matriz de células donde las piezas {1} es 'JohnDoe' y partes {2} es 'hotmail.com'.
Puede utilizar strread:
str = '[email protected]';
[a b] = strread(str, '%s %s', 'delimiter','@')
a =
'johndoe'
b =
'hotmail.com'
nota: las versiones recientes de MATLAB recomiendan usar 'textscan' en lugar de' strread' – Amro
correo electrónico String = "[email protected]";
String a[] = email.split("@");
String def = null;
String ghi = null;
for(int i=0;i<a.length;i++){
def = a[0];
ghi = a[1];
}
Este no es el idioma correcto. – Lukas
Si este hilo no está completamente enumerado por ahora, ¿puedo agregar otro? Una función MATLAB basado en Perl útil:
email = '[email protected]';
parts = regexp(email,'@', 'split');
piezas es un conjunto de celdas de dos elementos similares a los de MTRW implementación de TextScan. Tal vez exagerado, pero regexp es mucho más útil cuando se divide una cadena por múltiples caracteres de delimitación o búsqueda de patrones. El único inconveniente es el uso de expresiones regulares que todavía no he dominado después de 15 años de codificación.
+1 extraño que nadie haya mencionado expresiones regulares todo este tiempo :) – Amro
- 1. Encontrar el índice de un carácter en una cadena
- 2. Encontrar ocurrencias de un carácter en una cadena con Ruby
- 3. C# añadiendo un carácter en una cadena
- 4. ¿Cómo encontrar nth aparición de carácter en una cadena?
- 5. Encontrar el carácter más frecuente en una cadena
- 6. ¿Cómo hago un carácter "^" en MATLAB?
- 7. Eliminar carácter específico de una cadena según el valor hexadecimal
- 8. ¿Convierte un solo carácter en una cadena?
- 9. Accediendo a un carácter en una cadena
- 10. Dividir una cadena en una cadena, no un carácter
- 11. Seleccionar un carácter específico en una cadena y compensarlo (visualmente) con Jquery
- 12. Regex para eliminar un carácter repetido específico
- 13. ¿Cómo borrar todo en una cadena después de un carácter específico?
- 14. Encontrar un elemento específico en un NSArrayController
- 15. Encontrar elemento específico basado en un atributo
- 16. Insertar un carácter en una cadena en una posición determinada
- 17. Encontrar una inserción en una cadena
- 18. Encontrar un carácter ruso en NSString
- 19. ¿Cómo reemplazo una subcadena de una cadena antes de un carácter específico?
- 20. ¿Cómo insertar un carácter en un índice específico de cadena usando C#?
- 21. Cómo dividir líneas en un carácter específico en Notepad ++?
- 22. Modificación de un carácter en una cadena en Lua
- 23. ¿Cómo modifico un solo carácter en una cadena, en Python?
- 24. Mire cada carácter en una cadena
- 25. primer carácter de una cadena en Bash
- 26. ¿Cómo puedo seleccionar una cadena desde el principio hasta un carácter específico?
- 27. RegEx para saber si una cadena no contiene un carácter específico
- 28. En expresiones regulares, haga coincidir el final de la cadena o un carácter específico
- 29. cómo eliminar todas las instancias de un carácter específico de una cadena
- 30. Separar una cadena por un carácter
-1. Las otras respuestas son mejores aquí ya que proporcionan código de ejemplo. ¿Cómo usaste 'strtok' y' strrep'? Muestre un ejemplo y daré vuelta a un +1. – gary
Esa es una buena oferta. – Richard