ट्रिम करने के लिए कैसे अभिव्यक्ति के साथ वाइल्डकार्ड में स्क्रिप्ट?

0

सवाल

मैं एक स्क्रिप्ट है कि डेसिमल एक URL. यदि क्वेरी में शामिल उपयोगकर्ता और पासवर्ड पुनः प्राप्त होगा ।

मैं इसलिए रखने के लिए की तरह PHP क्वेरी यदि आवश्यक हो तो.


      Add-Type -AssemblyName System.Web
    
    $url = "http://toto.site:8080/user/password12349876toolong/2716?checkedby:toto.net"
    
    
    $uri = [System.Uri]$url
    $query = $uri.Query
    $IPTVhost = $uri.Host
    $IPTVport = $uri.Port
    $Segments = $uri.Segments.TrimEnd('/')
    $proto = $uri.Scheme
    
    $ParsedQueryString = [System.Web.HttpUtility]::ParseQueryString($uri.Query)
    
    if(!$query) {
    
    if ($Segments[1].TrimEnd('/') -eq "live"){
    
    
    $username = $Segments[2].TrimEnd('/')
    
    $password = $Segments[3].TrimEnd('/')
    }
    else
    {
    
    $username = $Segments[1].TrimEnd('/')
    $password = $Segments[2].TrimEnd('/')
    }
    }
    
    
    else {
    $username = $ParsedQueryString['username']
    $password = $ParsedQueryString['password']
    }
    cls
    if (!($url -like '\?checkedby\:'))
    {
    echo "this is a chekedby url"
    $filter = $url.TrimEnd("\?checkedby\:toto.net")
    echo "filter : $filter"
    }
    echo "url: $url"
    echo "query: $query"
    echo "host: $IPTVhost"
    echo "port: $IPTVport"
    echo "segment: $Segments"
    echo "proto: $proto"
    echo "username: $username"
    echo "password: $password"

मैं होगा की तरह फ़िल्टर करने के लिए एक स्ट्रिंग वर्ण की है जब मैं एक URL दर्ज करें में मेरी स्क्रिप्ट (जो अक्सर में पाया क्वेरी लेकिन हमेशा नहीं). मुझे पता है कि यह हमेशा के साथ शुरू होता है "? Checkedby:" या "& checkedby:" और अंत में हमेशा के लिए url.

समस्याग्रस्त: श्रृंखला चर रहा है, यह हो सकता है:

http://toto.com:8080/get.php?username=toto&password=toto&checkedby:titi.com

या

http://toto.com/1234/4321/5678?checkedby:anyone.xyz

या

http://toto.com/1234/4321/5678?master.m3u8&checkedby:anyelse.to

या यह बकवास है :

http://toto.com:8080/get.php?username=toto&password=toto&type=output.ext?checkedby:titi.com

मैंने कोशिश की है कई तरीकों के साथ TrimEnd लेकिन कुछ भी नहीं मदद करता है । केवल एक चीज है कि काम करता है एक सही तरह की अभिव्यक्ति:

$filter = $url.TrimEnd("\?checkedby\:toto.net")

लेकिन यह है कि काम नहीं करता है (और यह सामान्य है) के साथ एक url में समाप्त होता है कि:

&checkedby:another.com.

तो, सवाल :

कैसे को दूर करने के लिए है कि सब कुछ के साथ शुरू होता है:

&checkedby:

या

?checkedby:

धन्यवाद ।

powershell
2021-11-24 02:06:37
1

सबसे अच्छा जवाब

2

इमारत पर सैंटियागो Squarzon 'एस उपयोगी टिप्पणी:

उपयोग एक regex-आधारित ऑपरेशन के माध्यम से -replace ऑपरेटर:

'http://toto.com:8080/get.php?username=toto&password=toto&checkedby:titi.com',
'http://toto.com/1234/4321/5678?checkedby:anyone.xyz',
'http://toto.com/1234/4321/5678?master.m3u8&checkedby:anyelse.to',
'http://toto.com:8080/get.php?username=toto&password=toto&type=output.ext?checkedby:titi.com' |
  ForEach-Object { $_ -replace '[?&]checkedby:.+' }

एक स्पष्टीकरण के लिए regex के और विकल्प के साथ प्रयोग करने के लिए, यह देखें इस regex101.com पृष्ठ.

2021-11-24 03:00:59

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में