Dize

2016-04-08 16 views
0

yalnızca ikinci geçişi değiştir Uygulamada aşağıdaki tanıtım dizesi var.Dize

String promotion = "Watch on youtube: Mickey en de stomende drol! Watch on youtube."; 

Ben köprü ile ikinci kelime 'Youtube' değiştirmek istiyor, bu yüzden denedim:

promotion = promotion.replace("youtube","https://www.youtube.com/watch?v=a3leCIk2eyQ"); 

Ama bu ilk youtube değiştirir ve ben ikinci youtube değiştirilmesi istiyoruz.

Ben de denedim:

promotion = promotion.replaceAll("youtube","https://www.youtube.com/watch?v=a3leCIk2eyQ"); 

Ama bu her iki YouTubes değiştirir.

"Youtube" un ikinci okulu linK tarafından değiştirmenin en iyi yolu nedir?

+0

http://stackoverflow.com/questions/3976616/how-to-find-nth-occurrence-of-character-in-a-string –

+0

'sizin için youtube.' görünebilir nokta. Eğer ikinci 'youtube' uzaktaysa, olumlu bir bakış açısı kullanabilirsiniz: '(? <= Youtube. {0,999}) youtube' (veya arkasındaki metnin maksimum uzunluğunu eklemek istemiyorsanız) '(? <= youtube) (. *?) youtube' işlevini kullanın ve grubun yerine $ 1' geri tepsisini kullanarak yeniden ekleyin. – Thomas

cevap

3

İkinci "youtube" dizeniz de sonuncu olduğundan, sonuncuyu arayabilir ve değiştirebilirsiniz.

public static void main(String[] args) { 
     String promotion = "Watch on youtube: Mickey en de stomende drol! Watch on youtube."; 
     System.out.println(promotion.replaceAll("(.*)(\\byoutube\\b)(.*)", "$1"+ "https://www.youtube.com/watch?v=a3leCIk2eyQ" + "$3")); 
    } 

O/P: youtube

İzle: Mickey tr de stomende drol! https://www.youtube.com/watch?v=a3leCIk2eyQ'da izleyin. Eğer dize birden youtube s tek durumunda ikinci youtube değiştirmek istiyorsanız

, şunları kullanabilirsiniz:

public static void main(String[] args) { 
    String promotion = "Watch on youtube: Mickey en de stomende drol! Watch on youtube. asas youtube"; 
    String stringToReplace = "https://www.youtube.com/watch?v=a3leCIk2eyQ"; 
    System.out.println(promotion.replaceAll("(.*?\\byoutube\\b.*?)(\\byoutube\\b)(.*)", "$1"+ stringToReplace + "$3")); 
} 

O/P: youtube

İzle : Mickey en de stomende drol! https://www.youtube.com/watch?v=a3leCIk2eyQ'da izleyin. hep buysa youtube asas