library(chatgpt)
library(stringr)
question <- "What caracters differ between the text_1 and text_2. Only provide the caracter difference in the answer.
text_1 : Mon nom est Emmanuel Hamel. Mon adresse est le 324 jorge 1. Mon numéro de tel est 591-452-4000
text_2 : Mon nom est Emmanuel Hamel. Mon adresse est le xxxxxxx. Mon numéro de tel est xxxxxxx"
Sys.setenv(OPENAI_API_KEY = "xxx")
chatgpt::reset_chat_session()
text <- ask_chatgpt(question)
text_Extracted <- unlist(stringr::str_extract_all(text, "(:.*\\(text_\\d\\))|(vs.*\\(text_\\d\\))"))
unlist(stringr::str_split(text_Extracted, "vs"))
[1] ": \"324 jorge 1\" (text_1) " " \"xxxxxxx\" (text_2)" ": \"591-452-4000\" (text_1) " " \"xxxxxxx\" (text_2)"
9条答案
按热度按时间yqkkidmi1#
您可以使用以下操作顺序:
strsplit()
拆分字符串。setdiff()
比较元素试试这个:
字符串
cxfofazt2#
拆分成字母,并将其差值作为集合:
字符串
hzbexzde3#
这并不值得骄傲,但它似乎做的工作:
字符串
结果如下:
型
uurv41yg4#
只要
a
和b
具有相同的长度,我们就可以这样做:字符串
给出:
型
从代码的清晰度来看,这似乎很简单,并且似乎与这里提供的最快的解决方案相关联,尽管我认为我更喜欢
f3
:型
在我的笔记本电脑上进行了一次新的会话:
型
我假设不同之处一定是在相应的字符位置上。你可能想澄清这是否是意图。
np8igboo5#
您可以使用其中一个变量作为正则表达式字符类,并从另一个变量中取出
gsub
:字符串
vhmi4jdf6#
下面的函数可能是解决此类问题的更好选择。
字符串
从https://www.r-bloggers.com/extract-different-characters-between-two-strings-of-equal-length/
然后你就可以跑了
型
来获得差异。
rkttyhzu7#
我已经能够用下面的代码得到两个字符串之间的差异:
字符串
我使用Internet Explorer在本地模式下读取HTML文件。也可以使用Selenium。请参阅:使用RSelenium打开本地HTML文件
zbsbpyhn8#
以下是基于Word软件的另一种方法:
字符串
k5hmc34c9#
以下是另一个基于chatgpt的答案:
字符串