мне нужно удалить путь URL, начиная с /deposit/jingdongpay.htm?bid=4089
'?' мне просто нужен /deposit/jingdongpay.htm.
Это означает, что URL-адрес удалит все, что идет после .htm
Есть идеи, как это сделать.
Print left$(url$,20)В PHP: $ url = strtok ($ url, «?»);





В Python вы можете использовать str.split():
url = "/deposit/jingdongpay.htm?bid=4089"
split_url = url.split('?')
>>> split_url
['/deposit/jingdongpay.htm', 'bid=4089']
>>> split_url[0]
'/deposit/jingdongpay.htm'
если в C# есть идеи?
Я думаю, имеет смысл подождать, пока ОП не скажет вам, на каком языке он кодирует
На C# есть эквивалентная функция Split. См. Документацию: docs.microsoft.com/en-us/dotnet/csharp/how-to/…
Вы можете использовать метод String.Split:
string url = "/deposit/jingdongpay.htm?bid=4089";
string result = url.Split('?')[0];
Другой подход - использовать String.Substring:
string result = url.Substring(0, url.IndexOf('?'));
Или, может быть, если вас интересует решение LINQ:
string result = new string(url.TakeWhile(c => c != '?').ToArray());
результат = "/deposit/jingdongpay.htm"
Поскольку вы ответили так же, как мой, и быстрее, чем я, удалили мой ответ, но это не означает, что я скопировал ваш ответ .. +1 за ваш быстрый ответ. ;) не голоден до репутации
@Prasadtelkikar, спасибо, очень правильно с вашей стороны. Я считаю, что вы не копировали мой ответ, но у нас были те же методы в том же порядке, поэтому я подумал, что вы это сделали.
Я не тот, кто проголосовал против, ответьте на ваш комментарий split - самый простой вариант, если кто-то говорит, что не использовать split, то обычно мы используем IndexOf, и если кто-то говорит, что не используйте оба, тогда мы пробуем с TakeWhile .. верно? поэтому я обновил свой ответ соответственно
Я знаю, что вы не проголосовали против, но мне интересно, почему это сделал кто-то другой
да, но я просто хочу удалить путь после htm