Javascript - Использование .replace для удаления слова "и" из строки - PullRequest
0 голосов
/ 03 августа 2020

У меня есть строка, из которой я пытаюсь удалить слово «и». Я пытаюсь это сделать, используя метод .replace в javascript. Я могу удалить слово «и», но конечный результат не такой, как я ожидал.

Я бы хотел, чтобы моя строка возвращалась так же, как console.log(testString), где вся строка возвращается как "i-have-a-test-test-test" без промежутков между ними. В настоящее время моя попытка с console.log(newString) возвращает строку без - между каждым словом.

Мой ожидаемый результат должен иметь следующий результат:

I-have-a-test-test-test

const string = "I have a test and test and test" 

const newString = string.replace(/([^a-zA-Z0-9]*|\s*)\s\and/g, '-')

const testString = string.replace(/([^a-zA-Z0-9]*|\s*)\s/g, '-')
console.log(newString)
console.log(testString)

Ответы [ 3 ]

3 голосов
/ 03 августа 2020
var s = "I have a test and test and test" 
s = s.replace(/ and /g, '-').replace(/ /g, '-')

или

var s = "I have a test and test and test" 
s = s.replace(/ and | /g, '-')
1 голос
/ 03 августа 2020

const string = "I have a test and test and test"; 
const string2= string.split(" ").join("-").split("and").join("").split("--").join("-");
console.log(string2)
0 голосов
/ 03 августа 2020

Это даст ожидаемый результат на основе предоставленного вами сценария:

const string = "I have a test and test and test" 
const newString = string.replaceAll('and ', '').replaceAll(' ','-')
console.log(newString)

String.prototype.replaceAll () source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...