Разбиение строки на различные комбинации - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно какое-то направление для разделения строки на различные комбинации. На самом деле мое требование состоит в том, чтобы разделить целое число, но я думаю, что их нельзя разделить, поэтому я преобразовал целое число в строку.

Например, У меня есть строка "123456" Я хочу разделить это как

12 34 56

123 45 6

12 345 6

12 3 456

и как мудрый. Еще одна проблема заключается в том, что размер строки может быть переменным. Как я уже сказал, это на самом деле целые числа, поэтому он может иметь от 4 до 7-8 мест, поэтому размер результирующей строки будет разбит на комбинации.

В настоящее время у меня нет кода для его достижения. Я только что выполнил простую операцию разделения в окне команд, но не мог придумать, как достичь требуемого результата. Пожалуйста, дайте мне некоторое указание о том, что я могу сделать.

Спасибо.

1 Ответ

1 голос
/ 31 марта 2012

Сначала вы можете использовать функцию num2str () для преобразования целочисленного значения в строку. Как только вы преобразовали число в строку, вы можете использовать функцию length (), чтобы определить, сколько цифр в числе. Затем вы можете использовать длину строки, чтобы разделить число различными способами. Приведенный ниже пример разбивается только на две группы, но вы можете настроить их по своему усмотрению.

val=123456;
str=num2str(val);
i=1;
k=1;
len=2;%split values into groups of 2
while(i<length(str)-1)
val(k)=str2num(str(i:i+len-1));
i=i+len;
k=k+1;
end
if(i<=length(str))
val(k)=str2num(str(i:end));%catches the remainder
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...