замена определенных символов между определенными элементами - PullRequest
0 голосов
/ 29 мая 2011

Я хотел бы использовать регулярное выражение для замены пробела в строке.Рассматриваемое пространство является единственным пространством между двумя элементами в строке.Сама строка, однако, содержит гораздо больше элементов и пробелов.Пока я пробовал

(<-)[\s]*?(->)

Но это не работает.Он должен взять

<- слово другое слово ->

и позволить мне заменить место в нем.

Поскольку \ s выбирает все пробелы, а

(<-)[\s\S]*?(->)

Выбирает все символы между <- и ->, я пытался повторно использовать выражение, но затем только для пробелов.

Я не очень хорош в этих выражениях, и я нигде не могу найти ответ нигде.

Если бы кто-нибудь мог просто указать мне на ответ, это было бы здорово.Спасибо.

1 Ответ

0 голосов
/ 30 мая 2011

Трудно быть уверенным в том, что вы хотите, опубликовать некоторые до и после примеров.И укажите, какой язык вы используете.

Но, похоже, (<-\S+)\s*(\S+->), вероятно, должен это делать (удаляет пробелы).

Если <- и -> НЕ предназначены длядля сохранения удалите их из круглых скобок, например так:
<-(\S+)\s*(\S+)->

Вот как это будет выглядеть в JavaScript:

var before  = "Ten years ago a crack <-flegan esque-> unit was sent to prison by a military "
            + "court for a crime they didn't commit.\n"
            + "These men promptly escaped from a maximum security stockade to the "
            + "<-flargon 666-> underground.\n"
            + "Today, still wanted by the government, they survive as soldiers of fortune.\n"
            + "If you have a problem and no one else can help, and if you can find them, "
            + "maybe you can hire the <-flugen  9->.\n"
            ;

var after   = before.replace (/(<-\S+)\s*(\S+->)/g, "$1$2");

alert (after);

Что дает:

Ten years ago a crack <-fleganesque-> unit was sent to prison by a military court for a crime they didn't commit.
These men promptly escaped from a maximum security stockade to the <-flargon666-> underground.
Today, still wanted by the government, they survive as soldiers of fortune.
If you have a problem and no one else can help, and if you can find them, maybe you can hire the <-flugen9->.
...