我需要使用附加参数或没有附加参数来打开网页。如果它有一个参数,我将使用string.format函数添加它。有时我需要在打开url之前格式化此参数,但是,我不想让代码过于具体。
参数始终是一个字符串,我需要剪切该字符串的结尾。是否可以在字符串中执行某些操作以删除不需要的文本?如果是这样,{0}如何看待它的工作原理?
string url = "http://foo.bar/xt:{0}";
string parameter = "abcdefghi";
if (Regex.Matches(Regex.Replace(url,
@"(\{{2}|\}{2})", ""), // removes escaped curly brackets
@"\{(\d+)(?:\:?[^}]*)\}")
.OfType<Match>().Any())
{
Process.Start(string.Format(url, parameter));
}
else
{
Process.Start(url);
}
而不是abcdefghi我想把参数改为abcdefg。但这应该可以通过url配置。像{0:7)左右......
答案 0 :(得分:0)
你必须自己写这种逻辑。但是,你可以做的是将它包装在扩展方法中,这样你就不必在任何地方复制它:
public static class StringExt
{
public static string Truncate(this string value, int maxLength)
{
if (string.IsNullOrEmpty(value)) return value;
return value.Length <= maxLength ? value : value.Substring(0, maxLength);
}
}
现在我们可以写:
var someString = "...";
someString = someString.Truncate(2);