Как удалить строку после и перед указанием c символов - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть эта строка: https://2352353252142dsbxcs35@github.com/happy.git

Я хочу получить результат: https://github.com/happy.git (без случайной строки после второй / и после @, но без @).

Теперь у меня есть что-то вроде этого:

var s = 'https://2352353252142dsbxcs35@github.com/happy.git';
var d = s.substring(s.indexOf('/')+2, s.indexOf('@')+1;
s = s.replace(d, "");

это работает, но я знаю, что это уродливое решение. Какое наиболее эффективное и универсальное решение?

1 Ответ

1 голос
/ 16 апреля 2020

Попробуйте это:

const indexOfAtSign: number = receivedMessage.indexOf('@')+1
const httpsString: string = 'https://'
const trimmedString: string = s.slice(indexOfAtSign)
const requiredURL: string = httpsString.concat(trimmedString)

// Print this value of requiredURL wherever you want. 

Итак, вот что делает мой код: он получает позицию @ и удаляет все перед ним вместе с самим знаком. Затем, используя функцию slice(), мы остаемся с оставшейся частью, которую я назвал trimmedString. Теперь я предварительно определил строку `https, и теперь нам просто нужно объединить их. Готово: -)

Я пробовал это на своем боте с телеграммой, и вот как это работает:

enter image description here

...