我正在解决Reddit上的挑战here如何用另一个文本替换字符串的特定部分?
我找不到如何用另一个替换字符串的特定文本。我设法找出如何检查具体的文本是否存在,但我有问题用另一个文本替换它或完全从字符串中删除它(因为挑战需要)。
这里是我到目前为止的代码:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int law (string a);
int main() {
string a;
cin >> a;
cout << law(a) << endl;
return 0;
}
int law(string a){
if (a.find("NOT") != string::npos)
return a.replace(a.begin(), a.end(), ' ');
if(a.find("NOT") != string::npos && ((a.find("AND") == string::npos) || (a.find("OR") == string::npos)))
return a.erase(remove(a.begin(), a.end(), "NOT"), a.end());
}
为什么你需要文本替换算法来将狄摩根定律转换为给定的布尔表达式? – Manu343726