删除以“”开头的字符串/";并以“";在c#中
本文关键字:quot 并以 开头 字符串 删除 | 更新日期: 2023-09-27 18:07:39
我有一个登录用户名作为字符串,我想从该用户名中删除一个子字符串。例如username= "ABC/Domain-name'Pinto"
,所以在这种情况下,我只想要ABC/Pinto
或"Pinto"
作为输出。请在这方面帮助我。
这是我当前的代码。
var removeDomainName= userName.Substring(userName.IndexOf('/') + 1);
我建议您尝试使用正则表达式。一旦您熟悉了它,字符串操作对您来说将是一项容易得多的任务。
string input = @"ABC/Domain-name'Pinto";
string regex = @"('/){1}('w.*)(''){1}";
var result = Regex.Replace(input, regex, "/");
请在此处尝试:http://regexr.com/3e8l0
根据@grek40评论简化REGEX
string input = @"ABC/Domain-name'Pinto";
string regex = @"('/.*'')";
var result = Regex.Replace(input, regex, "/");
您可以将三个部分分开:
var splitted = userName.Split(new char[] {'''', '/'});
其中split[0]
是您的前缀(ABC
(,split[1]
是您的域(Domain-name
(,split[2]
是您的用户名(Pinto
(
我做了一把小提琴:https://dotnetfiddle.net/zvbwZi
或者,您可以将其子字符串:
要获取前缀和用户名(例如ABC'Pinto
(:
var prefix = userName.Substring(0, userName.IndexOf('/'));
var user = userName.Substring(userName.LastIndexOf(''''));
var prefixAndUser = prefix + user;
然后只获取用户名(例如Pinto
(:
var userNameWithoutPrefixOrDomain = user.Substring(1);
或者,如果您想要正斜杠(ABC/Pinto
(:
var prefix = userName.Substring(0, userName.IndexOf('/')+1);
var user = userName.Substring(userName.LastIndexOf('''')+1);
在这种情况下,user
将已经是您的用户名
我也做了一把小提琴:https://dotnetfiddle.net/7YL0m5
的简单示例
string userName = @"ABC/Domain-name'Pinto";
string[] arrCompany = userName.Split('/');
Console.WriteLine(arrCompany[0] +"/"+ arrCompany[1].Split('''')[1]);
Console.ReadLine();
试试这样的方法。
string userName = @"ABC/Domain-name'Pinto";
int pos = userName.LastIndexOf("/") + 1;
Console.WriteLine(userName.Substring(pos, userName.Length - pos));
另一种方法是用/
替换所有的'
,这样更容易拆分。然后,根据您的需要将它们组合起来。
string userName = @"ABC/Domain-name'Pinto";
string edit = userName.Replace('''', '/');
string[] split = edit.Split(new Char[] {'/'});
string final = split[0] + "/" + split[2];
Console.WriteLine(final);
如果你想保留反斜杠,你可以替换
string[] split = edit.Split(new Char[] {'/'});
带有
string[] split = Regex.Split(edit, @"(?<=[/])");
private string ParseString(string inString)
{
string prefix = "";
string suffix = "";
string[] splitStringArray;
splitStringArray = inString.Split('/');
prefix = splitStringArray[0];
if (prefix != "ABC")
{
prefix = "";
}
splitStringArray = inString.Split('''');
suffix = splitStringArray[1];
if (prefix != "")
{
//MessageBox.Show("Result: " + prefix + "/" + suffix);
return prefix + "/" + suffix;
}
else
{
return suffix;
}
}
示例
正则表达式是解析字符串的最佳途径