我只想对字符串中的子字符串进行编码,这里是test
来自String str = "test"
有比我下面做的更好的方法吗?也许是通过regEx?
var fullStr = ""\test"\";
char[] charsToTrim = { '"', '\'};
string result = fullStr.Trim(charsToTrim);
string StrEncoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(result));
string retStr = ""\" + StrEncoded + ""\";
您可能正在寻找此regex
(?<="\).*?(?="\)
(?<="\)
->正面注视(检查身后是否有这些字符((?="\)
->正向前瞻(检查前方是否有这些字符(
.*
->选择之间的所有内容
新代码:
var fullStr = ""\test"\";
char[] charsToTrim = { '"', '\'};
string result = fullStr.Trim(charsToTrim);
Console.WriteLine(result);
string pattern = "(?<="\\).*?(?="\\)";
var m = Regex.Match(fullStr, pattern, RegexOptions.IgnoreCase);
Console.WriteLine(m.Value);
和dotnet fiddle示例
我的猜测是你正在寻找以下内容:
string pattern = "(?<="\\).*?(?=\\")";
您可以将Regex.Match()
与MatchEvaluator
一起使用。
...
string retStr = Regex.Replace(fullStr, "test", delegate (Match match)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(match.Value));
});
...