Найти хэштег любого языка и заменить на ссылку в строке - PullRequest
0 голосов
/ 22 апреля 2019

Найти #hashtag из строки в узле js, например:

Моя строка: string = "I Love #भारत #ভারত #ભારત #ਭਾਰਤ #ଭାରତ #இந்தியா #ഇന്ത്യ #ಭಾರತ #భారత #india and the whole country."

Вывод: hashtag = ["भारत", "ভারত", "ભારત", "ਭਾਰਤ", "ଭାରତ", "இந்தியா", "ഇന്ത്യ", "ಭಾರತ", "భారత", "india"]

также мне нужно заменить строкув узле js, например,

Вход String = "I Love #भारत #ভারত #ભારત #ਭਾਰਤ #ଭାରତ #இந்தியா #ഇന്ത്യ #ಭಾರತ #భారత #india and the whole country.";

Выход String = "I Love <a href='http://hostname/hashtag/भारत' target='_blank'>#भारत</a> <a href='http://hostname/hashtag/ভারত' target='_blank'>#ভারত</a> <a href='http://hostname/hashtag/ભારત' target='_blank'>#ભારત</a> <a href='http://hostname/hashtag/ਭਾਰਤ' target='_blank'>#ਭਾਰਤ</a> <a href='http://hostname/hashtag/ଭାରତ' target='_blank'>#ଭାରତ</a> <a href='http://hostname/hashtag/இந்தியா' target='_blank'>#இந்தியா</a> <a href='http://hostname/hashtag/ഇന്ത്യ' target='_blank'>#ഇന്ത്യ</a> <a href='http://hostname/hashtag/ಭಾರತ' target='_blank'>#ಭಾರತ</a> <a href='http://hostname/hashtag/భారత' target='_blank'>#భారత</a> <a href='http://hostname/hashtag/india' target='_blank'>#india</a> and the whole country.";

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

Вот ваша строка:

const str= "I Love #भारत #ভারত #ભારત #ਭਾਰਤ #ଭାରତ #இந்தியா #ഇന്ത്യ #ಭಾರತ #భారత #india and the whole country.";

Для сопоставления хэштегов из строки.

Вы можете использовать match метод строки. Здесь является ссылкой.

str.match(/(#\S*)/g);

Ваш код становится:

const str = "I Love #भारत #ভারত #ભારત #ਭਾਰਤ #ଭାରତ #இந்தியா #ഇന്ത്യ #ಭಾರತ #భారత #india and the whole country.";

const result = str.match(/(#\S*)/g).map(hash=>hash.substr(1));

console.log(result);

Заменить хэштеги ссылками.

Для замены хештега вы можете использовать то же регулярное выражение с replace методом строки.

Вот ваш код:

const str = "I Love #भारत #ভারত #ભારત #ਭਾਰਤ #ଭାରତ #இந்தியா #ഇന്ത്യ #ಭಾರತ #భారత #india and the whole country.";


const result = str.replace(/(#\S*)/g, (hashtag) => {
  const hash=hashtag.substr(1);
  return `<a href='http://hostname/hashtag/${hash}' target='_blank'>${hash}</a>`
});

console.log(result);
0 голосов
/ 22 апреля 2019
var main = "I Love #भारत #ভারত #ભારત #ਭਾਰਤ #ଭାରତ #இந்தியா #ഇന്ത്യ #ಭಾರತ #భారత #india and the whole country."

var myString = main.match(/(#\S*)/g);

console.log(myString);

Пример: https://repl.it/repls/ChartreuseElectronicTransformation

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