第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從格式化字符串中查找字符串模板?

如何從格式化字符串中查找字符串模板?

Go
MMMHUHU 2022-12-27 10:14:33
假設(shè)我有一個字符串模板,例如,string="This is a {object}"現(xiàn)在我通過格式化這個字符串來創(chuàng)建兩個(或更多)字符串,即string.format(object="car")=>"This is a car"string.format(object="2020-06-05 16:06:30")=>"This is a 2020-06-05 16:06:30"現(xiàn)在我以某種方式丟失了原始字符串。有沒有辦法使用我現(xiàn)在擁有的 2 個新字符串找出原始字符串?注意:我有這些字符串的數(shù)據(jù)集,這些字符串是從模板創(chuàng)建的,但由于編輯而丟失了原始模板。新字符串是從新模板創(chuàng)建的,并放入同一數(shù)據(jù)集中。我嘗試過使用一些基于 ML 的方法,但它似乎在一般情況下不起作用。我正在尋找一種可以返回原始字符串的算法,它可以是一個或一組字符串,以防模板已多次更改。
查看完整描述

3 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊

一種可能是匹配輸入字符串中的單詞和格式化值選項,然后進(jìn)行比較:


import re

def get_vals(s):

   return re.findall('[\d\-]+\s[\d:]+|\w+', s)


vals = ["This is a car", "This is a 2020-06-05 16:06:30"]

r = ' '.join('{object}' if len(set(i)) > 1 else i[0] for i in zip(*map(get_vals, vals)))

輸出:


'This is a {object}'


查看完整回答
反對 回復(fù) 2022-12-27
?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗 獲得超4個贊

您可以找到模板的位置,但無法理解模板中的名稱,因此通過區(qū)分兩個字符串之間的差異,您可以了解模板化字符串的位置。

查看Python - 僅獲取字符串之間的差異以獲取有關(guān)如何獲取兩個字符串之間差異的建議。

以下一些步驟可以作為您的起點:

  1. 獲取字符串 A 和 B 之間的差異作為列表,僅收集來自 A 的字符串。

  2. 初始化模板 = A

  3. 遍歷不同的字符串并在模板中替換它們以{}

在 處,您將擁有來自 A 的模板字符串。


查看完整回答
反對 回復(fù) 2022-12-27
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊

您可以使用主要用于比對 DNA 序列的許多“序列比對”算法之一。這將返回保存的字符串序列。然后你會保留保護(hù)區(qū)并添加占位符,其中發(fā)生“突變”以獲得模板。

https://en.wikipedia.org/wiki/Multiple_sequence_alignment會讓你開始。


查看完整回答
反對 回復(fù) 2022-12-27
  • 3 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號