deleting part of chars
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kangkeon Jeon
am 6 Nov. 2019
Kommentiert: Walter Roberson
am 6 Nov. 2019
So I have a char like 'FSAJFALSFJSCXKHZVUIAHFKFSDVXCNMVBMAEHFSADFDSASADFHDSUIVCX'
and i need to delete one random length of char longer than 10 that's outside of first 10 and last 10. i have to repeat this 10 times so i have 10 char that has random length deleted as long as it's within the limited range (outside first 10 and last 10).
for example, if my char has 100 characters, it might delete 11~60 or 43~54 or 50~68. but not 9~44 or 77~95 because these are within first 10 or last 10. how can i accomplish this?
0 Kommentare
Akzeptierte Antwort
Akira Agata
am 6 Nov. 2019
Like this?
% Random string with 100 A-Z characters
str = char(randi([65 90],1,100));
% Start position (random number between 11 and 80)
pt1 = randi([11 80],1);
% End position (random number between pt1+9 and 89)
pt2 = randi([pt1+9 89],1);
% Delete characters between pt1 and pt2
str(pt1:pt2) = [];
2 Kommentare
Walter Roberson
am 6 Nov. 2019
N = 123; %or as needed
W = 10; %how many to delete
str = char(randi([65 90],1,N)); %A to Z
pt1 = randi([W+1 N-2*W+1],1);
pt2 = randi([pt1+W-1, N-W],1);
str(pt1:pt2) = [];
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!