Слова извлечения из текстового файла

Во-первых, вы не не передаете updateFilters в компонент advanced-options-model, вы привязываете метод updateFilters к событию updatefilters.

Чтобы привязать параметры к компоненту, вы должны использовать v-bind:... или просто :.... Сокращение @... для v-on:....

Если вы хотите «передать» событие updatefilters из компонента filter-checkboxes в ваш корневой компонент, вы должны сделать это так:

var filterCheckBoxes = {
    template: `
    <div>
        <fieldset v-for="name in names">
            <legend v-text="name"></legend>
            <label v-for="...">
                <input type="checkbox" ... @change="$emit('updatefilters')">
                {{value}} ({{count}})
            </label>
        </fieldset>
    </div>
    `
};

var advancedOptionsModal = {
    components: {
        "filter-checkboxes": filterCheckBoxes
    },
    template: `
    <div class="modal" ...>
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                ...
                <div class="modal-body">
                    <filter-checkboxes ... @updatefilters="$emit('updatefilters')"></filter-checkboxes>
                </div>
                ...
            </div>
        </div>
    </div>
    `
};

Vue.component('advanced-options-model', advancedOptionsModal);

И где-то еще:

<advanced-options-model ... @updatefilters="updateFilters"></advanced-options-model>
[ 112]
10
задан Nathan H 9 November 2008 в 22:05
поделиться

4 ответа

Это походит на правильное задание для регулярных выражений. Вот некоторый код Java для давания Вам общее представление, в случае, если Вы не знаете, как запустить:

String input = "Input text, with words, punctuation, etc. Well, it's rather short.";
Pattern p = Pattern.compile("[\\w']+");
Matcher m = p.matcher(input);

while ( m.find() ) {
    System.out.println(input.substring(m.start(), m.end()));
}

Шаблон [\w']+ соответствия все словесные символы и апостроф, многократно. Строка в качестве примера была бы распечатана пословно. Взгляните на документацию класса Шаблона Java для чтения больше.

17
ответ дан 3 December 2019 в 16:55
поделиться

В основном Вы хотите соответствовать

([A-Za-z]) + (' ([A-Za-z]) *)?

правильно?

1
ответ дан 3 December 2019 в 16:55
поделиться

Вы могли попробовать regex, с помощью шаблона, который Вы сделали и выполнили количество количество раз, которым был найден шаблон.

0
ответ дан 3 December 2019 в 16:55
поделиться

Псевдокод был бы похож на это:

create words, a list of words, by splitting the input by whitespace
for every word, strip out whitespace and punctuation on the left and the right

Код Python был бы чем-то вроде этого:

words = input.split()
words = [word.strip(PUNCTUATION) for word in words]

где

PUNCTUATION = ",. \n\t\\\"'][#*:"

или любые другие символы Вы хотите удалить.

Я полагаю, что Java имеет эквивалентные функции в Строковом классе: String.split ().


Вывод выполнения этого кода текста Вы обеспечили в своей ссылке:

>>> print words[:100]
['Project', "Gutenberg's", 'Manual', 'of', 'Surgery', 'by', 'Alexis', 
'Thomson', 'and', 'Alexander', 'Miles', 'This', 'eBook', 'is', 'for', 
'the', 'use', 'of', 'anyone', 'anywhere', 'at', 'no', 'cost', 'and', 
'with', 'almost', 'no', 'restrictions', 'whatsoever', 'You', 'may', 
'copy', 'it', 'give', 'it', 'away', 'or', 're-use', 'it', 'under', 
... etc etc.
3
ответ дан 3 December 2019 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: