我正在尝试在一串文本中进行查找替换。我正在使用这样的正则表达式:
Regex regexText = new Regex("TEST");
strText = regexText.Replace(strText, value);
在这个例子中,我试图在文本字符串中找到字符串“Test.Value”。但是,如果此值出现在字符串中,则不会发生替换。
如果我删除了点,例如:
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
};
如果我在字符串中加上单词“TEST”,它就可以替换它。
有没有办法让这个与“。”的字符串一起使用?
答案 0 :(得分:-1)
你必须逃避点:
Regex regexText = new Regex(@"Test\.Value");
正如你所写,正则表达式只是寻找“测试”,然后是除换行符之外的任何字符,后跟“值”。
最重要的是,如果您要查找的文本稍有不同,则不区分大小写的匹配可以帮助您:
Regex regexText = new Regex(@"Test\.Value", RegexOptions.IgnoreCase);
无论如何,在这种情况下,我认为不需要正则表达式。一个简单的字符串替换应该做的工作:
strText.Replace("Test.Value", value);