Reading a select number of characters from a string
Mostra commenti meno recenti
How would I go about taking the first 5 characters of a string? I want to be able to take a string like "some_string" and take the first 5 characters so I get a new string "some_". I am not sure where to look in MatLab documentation for this.
4 Commenti
Vish
il 9 Mar 2016
Modificato: Walter Roberson
il 9 Mar 2016
i want to get last 4 character from my string
i have
a=abcdefgh
b=efgh
i want b.
now there can b any no of char before last 4 character..
Walter Roberson
il 9 Mar 2016
b = a(end-3:end);
Shikhar Pandey
il 13 Lug 2016
for me this is not working. I am implementing it in a callback function in GUI.
Johann Alban Schöpfer
il 26 Gen 2018
If you are reading this in the glorious time of the string data type, you can use the answers below by going back to a char array.
str = "I want to edit this string";
temp = char(str);
% do the things
str = string(temp);
Risposte (5)
Junaid
il 25 Dic 2011
Dear Louis,
Let say you have string Variable a;
a = 'HelloMoto';
if you want to take first 5 character of this. It is straight forward.
b = a(1:5); % now b has a's first characters only.
Similarly if you have array of String like this;
A = {'String1', 'String2','String3' };
Then taking string2 as your "Some_String" and then take first 5 character would be like this.
B = A{2};
B(1:5)
I hope this is what you asked for ? Do let me know in either case.
4 Commenti
Louis
il 25 Dic 2011
Junaid
il 25 Dic 2011
Dear Louis,
Sorry I can't execute your code. But Could you tell me your size(message). If message is array then you can't do like this.
Try this
a = message{1}(1:3)%
I assume the first string in variable message has characters more then 3. Then it should not give any error.
Louis
il 25 Dic 2011
Kiana Maillet
il 15 Ago 2022
Isn't 'that' a character array? and "this" would be a string..
Jurgen
il 16 Dic 2019
4 voti
If you don't want to convert to char type: extractBetween and it's brethren work on the newer string datatype.
Junaid
il 25 Dic 2011
Dear Let say your file name is "someFile.xls" then following code should work.
[m mess] = xlsread('someFile.xls', 1);
The size of mess with be number columns and rows in sheet one. Lets assume that in first row second colum there is your requires string you want to take first three initial characters. Then this code should work.
a = char(mess(1,2)); % now a contains that string
myStr = a(1:3); % this should return your first three characters.
Try and let us know, if it works. For experiments you make your own xls file so that you put the string you want. Once the code works and give desired resutls then it would be easy for you to debug your problem in your current xls file, as you mentioned due to spaces or anything.
Jan
il 25 Dic 2011
This crops the first 3 characters, but dos not touch shorter strings:
[~,message] = xlsread('someFile.xlsx', 1, entryF);
a = message(1:min(3, length(a)));
3 Commenti
Louis
il 26 Dic 2011
ABDALHADI ABU ZEYNEH
il 19 Mag 2020
word= char('cacabcabac');
word(1:3)
Vahidreza Jahanmard
il 25 Mar 2022
1 voto
If you have string format (not char format), you can use this function:
https://mathworks.com/help/matlab/ref/extract.html
Categorie
Scopri di più su Characters and Strings in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!