SORU
18 NİSAN 2010, Pazar


Dize içinde belirli bir karakterden sonra karakterleri kaldırmak, alt kaldırın o zaman?

Hissediyorum salakça gönderme bu gibi görünüyor zaman bu tür basit ve ton soru ipler/karakter/normal ifade, ama bulamadım ve çok ihtiyacım olan şey. (hariç başka bir dil: http://stackoverflow.com/questions/2176544/remove-all-text-after-certain-point).

Aşağıdaki kodu var:

[Test]
    public void stringManipulation()
    {
        String filename = "testpage.aspx";
        String currentFullUrl = "http://localhost:2000/somefolder/myrep/test.aspx?q=qvalue";
        String fullUrlWithoutQueryString = currentFullUrl.Replace("?.*", "");
        String urlWithoutPageName = fullUrlWithoutQueryString.Remove(fullUrlWithoutQueryString.Length - filename.Length);

        String expected = "http://localhost:2000/somefolder/myrep/";
        String actual = urlWithoutPageName;
        Assert.AreEqual(expected, actual);
    }

Soru yukarıda (sözdizimi aynı olacağını umuyorum!) çözüm denedim ama hayır. İlk herhangi bir değişken uzunlukta olabilir sorgu dizesi kaldırmak, bir daha herhangi bir uzunlukta olabilir hangi sayfa adı, sonra kaldırmak istiyorum.

Nasıl bu testi geçer gibi tam URL sorgu dizesi kaldırmak alabilir miyim?

CEVAP
18 NİSAN 2010, Pazar


Eğer sana her şeyi sonra öldürmek istiyorsan ? dize manipülasyon,, bunu yapabilirsiniz

string input = "http://www.somesite.com/somepage.aspx?whatever";
int index = input.IndexOf("?");
if (index > 0)
   input = input.Substring(0, index);

Son bölü sonra her şey, gibi bir şey . Edit:

string input = "http://www.somesite.com/somepage.aspx?whatever";
int index = input.LastIndexOf("/");
if (index > 0)
    input = input.Substring(0, index); // or index   1 to keep slash

Bir URL ile çalışmaya başladığından beri dönüşümlü olarak, bu kod gibi bir şey yapabilirsin

System.Uri uri = new Uri("http://www.somesite.com/what/test.aspx?hello=1");
string fixedUri = uri.AbsoluteUri.Replace(uri.Query, string.Empty);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • ibebrent

    ibebrent

    23 Temmuz 2007
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008