У меня есть следующая поддержка String в моем приложении.Заменить только 2-е место в строке
String promotion = "Watch on youtube: Mickey en de stomende drol! Watch on youtube.";
Я хочу заменить второе слово «Youtube» гиперссылкой, поэтому я попытался:
promotion = promotion.replace("youtube","https://www.youtube.com/watch?v=a3leCIk2eyQ");
Но это заменяет первое YouTube, и я хочу второй YouTube заменить.
Я также попытался:
promotion = promotion.replaceAll("youtube","https://www.youtube.com/watch?v=a3leCIk2eyQ");
Но это заменяет оба YouTubes.
Каков наилучший подход для замены второго события «youtube» на linK?
http://stackoverflow.com/questions/3976616/how-to-find-nth-occurrence-of-character-in-a-string –
Если это всегда 'youtube.' вы могли бы найти точка. Если это второй «youtube», вы можете использовать положительный внешний вид: '(? <= Youtube. {0,999}) youtube' (или если вы не хотите добавлять максимальную длину текста в look-behind используйте '(? <= youtube) (. *?) youtube' и повторно добавьте группу в замещение, используя обратную ссылку' $ 1'.) – Thomas