c# - 在字符串中检测和链接 instagram
问题描述
我正在寻找一种方法来链接包含以下内容的字符串......
Lorem ipsum,Lorem ipsom Instagram:@instausername Lorem ipsum
代码需要把它"Instagram: @instausername"
变成 this "<a href='https://www.instagram.com/@instausername'> Instagram: @instausername<a/>"
。所以最终的字符串应该是这样的..
Lorem ipsum, Lorem ipsom <a href='https://www.instagram.com/@instausername'> Instagram: @instausername<a/> Lorem ipsum
我对正则表达式不太熟悉,但我想它可以使用正则表达式来解决,有人可以帮忙吗?
解决方案
Instagram 用户名不得超过 30 个字符,并且只能包含字母、数字、句点和下划线。您不能在用户名中包含符号或其他标点符号。
基于此,您可以使用:
string subjectString = "Lorem ipsum, Lorem ipsom Instagram: @instausername Lorem ipsum";
string resultString = null;
try {
resultString = Regex.Replace(subjectString, "Instagram: (@[^ ]+)", "<a href='https://www.instagram.com/$1'> Instagram: $1<a/>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
Console.WriteLine(resultString);
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
Lorem ipsum, Lorem ipsom <a href='https://www.instagram.com/@instausername'> Instagram: @instausername<a/> Lorem ipsum