首页 > 解决方案 > 在字符串中检测和链接 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

我对正则表达式不太熟悉,但我想它可以使用正则表达式来解决,有人可以帮忙吗?

标签: c#regex

解决方案


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

演示


推荐阅读