¿Cómo puedo extraer las primeras 4 o las 4 medias o las últimas cuatro letras de un ejemplo de cadena: cuando la cadena dice 01 ED 01 F9 81 C6?extraer primero 4 letras de una cadena en matlab
Respuesta
Una cuerda se trata como un vector de caracteres. Prueba esto:
>> string = '01 ED 01 F9 81 C6';
>> string(1:5), string(6:11), string(12:17)
ans =
01 ED
ans =
01 F9
ans =
81 C6
string
en este ejemplo no es una variable de un método. string(1)
devuelve el primer carácter en la matriz (o vector) llamado string
.
Si desea que sólo los caracteres no está en blanco se puede utilizar la función de ISSPACE para eliminar el espacio en blanco y luego matriz de caracteres de indexación para acceder a los caracteres:
>> s = '01 ED 01 F9 81 C6'; >> s = s(~isspace(s)) s = 01ED01F981C6 >> s(1:4) ans = 01ED >> s(5:8) ans = 01F9 >> s(9:end) ans = 81C6
pueden ampliar esta procesar múltiples líneas de una arreglo de caracteres usando RESHAPE para transformar el resultado de la eliminación de espacios de nuevo a un 2D-array y luego hacer referencia a la dimensión extra:
s = ['01 ED 01 F9 81 C6'; 'F8 CA DD 04 44 3B'] s = 01 ED 01 F9 81 C6 F8 CA DD 04 44 3B >> s = reshape(s(~isspace(s)), size(s, 1), 12) s = 01ED01F981C6 F8CADD04443B >> s(:,1:4) ans = 01ED F8CA >> s(:,5:8) ans = 01F9 DD04 >> s(:,9:end) ans = 81C6 443B
Como trolle3000 y B3 se ha mencionado, se utiliza soportes que contienen en dados para extraer subconjuntos de la cadena.
Para responder a la pregunta adicional de cómo trabajas en la cadena, te sugiero que dividas la cadena en cada espacio y conviertas de hexadecimal a números decimales.
s = '01 ED 01 F9 81 C6';
hex2dec(regexp(s, ' ', 'split'))
ans =
1
237
1
249
129
198
gracias, pero mi problema es que tengo un archivo con 4000 líneas de código hexadecimal. Quiero dividirlas a granel, ¿cómo puedo hacer esto? – Dilip
- 1. ¿Cómo extraer una cadena entre otras 2 cadenas en python?
- 2. Ordenar cadenas, primeras letras primero, luego letras dentro de las palabras
- 3. dividir una cadena de letras mayúsculas
- 4. cómo probar una cadena de letras solamente
- 5. MATLAB: extraer submatriz con indexación lógica
- 6. Ordenando las letras de una cadena de texto en Python?
- 7. En Excel, ¿cómo extraigo las últimas cuatro letras de una cadena de diez letras?
- 8. Extraer una cadena a partir de una trama de datos
- 9. Cómo separar letras y dígitos de una cadena en php
- 10. Verificación de que una cadena contiene sólo letras en C#
- 11. ¿Cómo contar el número de letras en una cadena aleatoria?
- 12. manera más eficiente de extraer una cadena
- 13. Bash: extraer parte de una cadena
- 14. C++: Cómo extraer una cadena de RapidXml
- 15. extraer cadena de consulta de una cadena de URL
- 16. Contar letras mayúsculas en cadena usando perl
- 17. JavaScript - comprobar si hay letras minúsculas en una cadena
- 18. Cuántas letras diferentes hay en la cadena
- 19. Ruby: Extraer palabras de Cadena
- 20. ¿Cómo quitar las letras de la cadena?
- 21. cómo extraer una cadena Unicode con Boost.Python
- 22. ¿Cómo convertir una cadena de letras cirílicas rusas?
- 23. ¿Cómo puedo extraer datos de un archivo .fig en MATLAB?
- 24. ¿Cómo puedo extraer subcadenas de una cadena en Perl?
- 25. Extraer tokens de una cadena con expresiones regulares en .NET
- 26. Extraer solo caracteres de una cadena en Python
- 27. ¿Cómo extraer un número de una cadena en Perl?
- 28. Cómo dividir una cadena entre letras y dígitos (o entre dígitos y letras)?
- 29. Extraer tiempo de fecha Cadena
- 30. de código ASCII en cadena en MATLAB
@ trolle3000 y b3: gracias pero lo que si el archivo tiene un montón de valores 'F3 C1 81 F6 81 C5' '01 F0 41 F7 01 C6 ' '41 ED C1 F7 01 C6' entonces ¿Cómo trabajo en eso? – Dilip
@Dilip: vea mi respuesta editada arriba que describe cómo procesar múltiples líneas. –