【问题标题】:string replace for multiple characters字符串替换多个字符
【发布时间】:2015-03-15 02:40:45
【问题描述】:

blaBla\John.Boy

string _uName = id.Name.Split('\\')[1];
string _userName = _uName.Replace('.', ' ');

将返回:“John Boy”

我想使用替换,但要使用 replaceAll。

我有string url="Account/WindowsLogin.aspx?ReturnUrl=%2fMemberPages%2fcustomerDataStorePortal.aspx"

由此我想创建string NewUrl="/MemberPages/customerDataStorePortal.aspx"

所以在“=”之后获取数据并将“%2F”替换为“/”

到目前为止:

string redirectUrl1 = redirectUrlOLD.Split('=')[1];
string redirectUrl = redirectUrl1.Replace('%2F', '/');

将 %2F 标记为太多字符

【问题讨论】:

    标签: c# asp.net string replace


    【解决方案1】:

    "" 用于字符串

    '' 表示单个字符

    这是你想走的路

    redirectUrl1.Replace("%2F", "/");
    

    【讨论】:

      【解决方案2】:
      string redirectUrl = redirectUrl1.Replace("%2F", "/");
      

      使用" 代替'

      【讨论】:

      • 解释一下为什么单引号在C#中是不同的。
      【解决方案3】:

      使用

      Uri.UnescapeDataString("Account/WindowsLogin.aspx?ReturnUrl=%2fMemberPages%2fcustomerDataStorePortal.aspx");
      

      另见以下link

      【讨论】:

        【解决方案4】:

        您可以使用Uri 类,它是UnescapeDataString method

        string returnUrlParam = "?ReturnUrl=";
        int paramIndex = url.IndexOf(returnUrlParam);
        if (paramIndex >= 0)
        {
            string param = url.Substring(paramIndex + returnUrlParam.Length);
            string newUrl = Uri.UnescapeDataString(param); // "/MemberPages/customerDataStorePortal.aspx"
        }
        

        如果您可以添加对System.Web 的引用,您可以使用System.Web.HttpUtility

        string queryString = url.Substring(url.IndexOf('?') + 1);
        var queryParams = System.Web.HttpUtility.ParseQueryString(queryString);
        string newUrl = queryParams["ReturnUrl"]; // "/MemberPages/customerDataStorePortal.aspx"
        

        请注意,如果您的目标框架是:框架x 客户端配置文件(winforms、wpf 等的默认设置),则不能添加System.Web。您需要选择完整的框架。

        【讨论】:

          【解决方案5】:

          除了使用字符串替换而不是字符替换之外,您还可以将方法链接在一起。当字符串包含小写f时,看起来你正在替换大写F

          string redirectUrl = url.Split('=')[1].Replace("%2f", "/"); 
          

          【讨论】:

            猜你喜欢
            • 2022-01-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-31
            • 1970-01-01
            • 1970-01-01
            • 2013-03-14
            相关资源
            最近更新 更多