2017-02-10 11 views
1

Я работаю над созданием фильтра электронной почты. У меня есть пример электронной почты, который говорит что-то вроде этого:Octave - ввод слов в вектор

Привет, как ты позволяет встретиться

Я хочу поставить каждую из этих слов в вектор. Я ищу что-то вроде этого.

Words = ['Hi';'how','are','you','lets','meet','up'] 

и когда я вхожу

слова (1), я хочу, чтобы отобразить Привет.

Я действительно не знаю с чего начать. Я нашел ответы на разные языки, такие как Ruby и JS. Но не для Октава.

+2

Вы можете посмотреть [здесь] (https://www.gnu.org/software/octave/doc/v4.0.0/Manipulating-Strings.html#XREFstrsplit). – beaker

+0

Короткий, но точно. Я попробую, когда вернусь домой. Спасибо @beaker! – blackknight316

ответ

2

Добавление ответа Энди о клетках, вы можете получить электронную почту в виде строки и обрабатывать его с помощью строковых операций, таких как strtok, strsplit и т.д., например,

octave:7> s = 'Hi how are you lets meet up'; 
octave:8> words = strsplit(s, ' ') 
    words = 
    { 
    [1,1] = Hi 
    [1,2] = how 
    [1,3] = are 
    [1,4] = you 
    [1,5] = lets 
    [1,6] = meet 
    [1,7] = up 
    } 
octave:9> words{1} 
    ans = Hi 
2

Use Cell Arrays of Strings:

octave:1> words = {'hi', 'how', 'are', 'you', 'lets', 'meet', 'up'}; 
octave:2> words{1} 
ans = hi 

и вы можете использовать индексацию:

octave:4> words{3:4} 
ans = are 
ans = you 

, если вы боретесь, почему это возвращает другой результат:

octave:5> words(3:4) 
ans = 
{ 
    [1,1] = are 
    [1,2] = you 
} 

then read here:

Итак, с '{}' вы получаете доступ к элементам массива ячеек, а при использовании '()' вы получаете доступ к вспомогательному массиву массива ячеек.