Получить подстроку между двумя символами, используя JavaScript

Конфигурация кажется правильной с отсутствием параметра id внутри части выполнения. Правильный способ:

<executions>
    <execution>
        <id>someID</id>
        <goals>
            <goal>java</goal>
        </goals>
        <configuration>
            <mainClass>org.aptovia.javaee7.CDBOOKSTORE.Main</mainClass>
        </configuration>
    </execution>
</executions>

Предполагая, что вы используете основной метод с использованием maven, выполнение будет выглядеть следующим образом:

mvn exec: java @ someID

someID добавлен внутри исполнение часть.

152
задан Rob 14 February 2013 в 04:31
поделиться

1 ответ

Вы можете использовать функцию высшего порядка, чтобы возвратить 'собранную' версию Вашего экстрактора, тот способ, которым это быстрее.

С regexes и компилированием regex однажды в закрытии, соответствие JavaScript возвратит все соответствия.

Это оставляет нас только с необходимостью удалить то, что мы использовали в качестве наших маркеров (т.е.: {{), и мы можем использовать веревочную длину для этого с частью.

function extract([beg, end]) {
    const matcher = new RegExp(`${beg}(.*?)${end}`,'gm');
    const normalise = (str) => str.slice(beg.length,end.length*-1);
    return function(str) {
        return str.match(matcher).map(normalise);
    }
}

Собирают однажды и используют многократно...

const stringExtractor = extract(['{','}']);
const stuffIneed = stringExtractor('this {is} some {text} that can be {extracted} with a {reusable} function');
// Outputs: [ 'is', 'text', 'extracted', 'reusable' ]

Или одно-разовое использование...

const stuffIneed = extract(['{','}'])('this {is} some {text} that can be {extracted} with a {reusable} function');
// Outputs: [ 'is', 'text', 'extracted', 'reusable' ]

Также взгляд на JavaScript replace функция, но использование функции для сменного аргумента (Вы сделали бы это, если бы, например, Вы делали мини-двигатель шаблона (веревочная интерполяция)..., lodash.get мог бы также быть полезным затем, чтобы получить ценности, которыми Вы хотите заменить?...

Мой ответ слишком длинный, но он мог бы помочь кому-то!

1
ответ дан 23 November 2019 в 21:58
поделиться
Другие вопросы по тегам:

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