字符串替换多个字符

时间:2015-01-16 13:20:01

标签: c# asp.net string replace

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标记为太多字符

5 个答案:

答案 0 :(得分:4)

""用于字符串

''代表一个字符

这就是你要去的方式

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

答案 1 :(得分:1)

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

使用"代替'

答案 2 :(得分:1)

使用

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

另请参阅以下link

答案 3 :(得分:1)

您可以使用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"

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

答案 4 :(得分:0)

除了使用字符串替换而不是char替换之外,您还可以将方法链接在一起。此外,当字符串包含小写F

时,您似乎正在替换大写f
string redirectUrl = url.Split('=')[1].Replace("%2f", "/");