簡體   English   中英

用連字符替換單詞和單詞

[英]substitute words and words with hyphens

我將閱讀像這樣的語法句子

<開始>今晚<對象> <動詞>。

<開始> <闡述> <沖突> <逃逸> <結論>

<博覽會> <壞家伙> <瘋狂計划>

我有一個獲取句子的功能,應該替換具有<word>的內容

while is_non_terminal?(sentence)
  sentence.sub!(/(<\w+>)/){grammar[[$1]].sample.join(' ')}
end

它會很好地閱讀第一句話並替換單詞,我的問題是它不會替換<bad-guy>之類的單詞,因為我試圖更改子內容的連字符! 在功能上
句子.sub!(/(<\\ w->)/){語法[[$ 1]] sample.join('')}
我不確定如何用<>和連字符替換常規單詞

您可以使用以下正則表達式來匹配帶連字符和常規詞:

/(\\<[a-zA-Z\\-]+\\>)/

讀為:匹配< >之間在a and zA and Z-字符之間a and z任何重復字符序列。

如果您仍然習慣於正則表達式,則以下站點可以幫助您練習: https : //regex101.com/

另外,請記住,輸入的標簽在<之前和>之前有空格,因此您也需要考慮到這一點。 下面這樣做。

/(\\< [a-zA-Z\\-]+ \\>)/

干杯,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM