JavaScript Заменить запятую между двумя символами - PullRequest
0 голосов
/ 24 марта 2020

привет У меня возникли проблемы с созданием выражения регулярного выражения для замены запятой (,) между двумя символами, моя строка выглядит следующим образом.

let str=Amazon,buy,0123,4213,5424

Я хочу

Amazon buy,0123,4213,5424

Я пытаюсь

str.replace(/\D(,)\D/," ")

, но также удаляет два символа

    Amazo uy,0123,4213,5424

Ответы [ 3 ]

0 голосов
/ 25 марта 2020

Вот как вы это делаете с помощью регулярного выражения.

const  str = 'Amazon,buy,0123,4213,5424';

const result = str.replace(/(\D),(\D)/g,"$1 $2");

console.log(result);
0 голосов
/ 25 марта 2020

У вас есть несколько ответов, которые работают хорошо, вот еще одна идея, зависящая от изменчивости вашей строки:

enter image description here

Что здесь происходит is:

  1. Сначала поднимите все до первого знака равенства.
  2. Теперь захватывайте все до первой запятой ("Amazon").
  3. Теперь возьмите все ( buy, 01234,4213,5424).

В зависимости от сложности ваших входных данных (пробелы, побеги и т. д. c.) пока это будет всего go, но мне кажется, это может работать для вашей ситуации.

Просмотр по адресу: https://regex101.com/r/6wYdUg/1

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

enter image description here

0 голосов
/ 24 марта 2020

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

let str="Amazon,buy,0123,4213,5424";
let newStr = str.replace(",", " ");
console.log(newStr);

let str="Amazon,buy,0123,4213,5424";
let newStr = str.replace("Amazon,", "Amazon ");
console.log(newStr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...