2017-06-25 3 views
1

Ich versuche gerade, eine Youtube-Playlist zu scrapieren. Der Schrott funktioniert aber ich möchte nur einen Teil des Titels bekommen.Entfernen von Text in einem Titel beim scrapen

Zum Beispiel:

  • Der Videotitel ist:

    ‚Et si on mangeait la connaissance? | Idriss Aberkane | TEDxPanthéonSorbonne‘

  • Durch Schaben Ich mag würde nur bekommen:

    'Et si on mangeait la connaissance'?

Ich möchte alle Zeichen löschen, nachdem |

Ist es möglich?

Antwort

0
import re 

p = re.compile("(.*?) \|.*") 
m = p.search('Et si on mangeait la connaissance? | Idriss Aberkane | TEDxPanthéonSorbonne') 

Dies gibt die gewünschte Zeichenfolge:

m[1] 
+0

danke !!! Ich habe es in Pipelines mit regex und "/|.*" versucht und es hat alles nach dem "|" –

-1

Ja, es ist möglich, haben Sie zwei Möglichkeiten: die Zeichenfolge Slicing

String = 'Et si on mangeait la connaissance? | Idriss Aberkane | TEDxPanthéonSorbonne' 
String = String[-1:-x] 

Ersetzen:

String = String.replace(' | Idriss Aberkane | TEDxPanthéonSorbonne', '') 
0

Wenn Bist du sicher? über "|" Zeichen wird in jedem Titel sein Sie können so etwas schreiben

string title = "test title | about anything"; 
string result =""; 
if(title.indexOf("|") > -1) 
    result = title.substring(0, test.indexOf("|")); 
+0

Hoppla, du hast Recht. Frage war über pyhton): Wie kann ich meine Antwort entfernen? – ypbr

0

Wenn Sie alle Inhalte beim ersten Auftreten von '|' Sie können unter Code schreiben:

scrap_result = 'Et si on mangeait la connaissance? | Idriss Aberkane | TEDxPanthéonSorbonne' # this is the scrap result of the title you get you can user str() to be precise so you only get string is a title. 
scrap_result = scrap_result[:scrap_result.find("|")] # this will give you result before the first occurrence of '|' but it includes trailing space at the end if you want to remove it use scrap_result.strip() 
Verwandte Themen