c# - 使用正则表达式在 \"test"\ 中仅编码单词测试?
问题描述
我只想在我的字符串中编码一个子字符串,这里test
来自String str = \"test"\
有没有比我在下面做的更好的方法来做到这一点?也许通过正则表达式?
var fullStr = "\"\\test\"\\";
char[] charsToTrim = { '\"', '\\'};
string result = fullStr.Trim(charsToTrim);
string StrEncoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(result));
string retStr = "\"\\" + StrEncoded + "\"\\";
解决方案
您可能正在寻找这个正则表达式
(?<="\\).*?(?="\\)
(?<="\\)
-> 正向后视(检查你身后是否有这些字符)
(?="\\)
-> 正向前瞻(检查你前面是否有这些字符)
.*
-> 选择介于两者之间的所有内容
新代码:
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);
我的猜测是您正在寻找以下内容:
string pattern = "(?<=\"\\\\).*?(?=\\\\\")";
推荐阅读
- oracle - 以类似于表 DDL 的压缩形式显示 oracle 列信息数据类型信息
- sql - SQL LIKE 中表达式的重复
- javascript - Blazor 服务器端中的 Google Places Autocomplete API - InvalidValueError
- algorithm - 数字搜索树和基数搜索树的区别
- javascript - image.crosOrigin="annonymous" 时加载图像不起作用
- c# - WPF:两个依赖组合框绑定问题
- html - 如何在姓氏输入字段下方放置“姓氏”标签?
- c - 为什么 malloc(0) 在 Windows 上会导致严重的内存泄漏?
- c++ - 我怎样才能知道向量的实际最大大小?(不使用 std::vector::max_size)
- java - Java 中的图像即将推出 NPE