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

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

一種正則表達(dá)式,用于制作具有單詞邊界的首字母縮略詞并刪除單詞前面的字符

一種正則表達(dá)式,用于制作具有單詞邊界的首字母縮略詞并刪除單詞前面的字符

Go
繁星coding 2022-09-19 17:45:51
轉(zhuǎn)到版本go version go1.16.7 linux/amd64問題我正在經(jīng)歷一個(gè)關(guān)于創(chuàng)建首字母縮略詞的練習(xí),我選擇用正則表達(dá)式來做。給我的一些測試用例如下:    input:    "Ruby on Rails",    expected: "ROR"        input:    "GNU Image Manipulation Program",    expected: "GIMP"    input:    "Complementary metal-oxide semiconductor",    expected: "CMOS"    input:    "Something - I made up from thin air",    expected: "SIMUFTA"    input:    "Halley's Comet",    expected: "HC"    input:    "The Road _Not_ Taken",    expected: "TRNT"下面的代碼能夠通過許多簡單的測試,如果第一個(gè)字母是大寫的,那么提取該字母并從中制作一個(gè)首字母縮略詞 Portable Network Graphics -> PNG法典// Package acronym creates an acronym based on Capitalized Letterspackage acronymimport (    "regexp"    "strings")// Abbreviate: creates an acronym for a full form stringfunc Abbreviate(s string) string {    re := regexp.MustCompile(`\b[A-Za-z]`)    abbreviation := strings.Join(re.FindAllString(s, -1), "")    return strings.ToUpper(abbreviation)}我唯一失敗的測試是=== RUN   TestAcronym    acronym_test.go:11: Acronym test [Halley's Comet], expected [HC], actual [HSC]    acronym_test.go:11: Acronym test [The Road _Not_ Taken], expected [TRNT], actual [TRT]--- FAIL: TestAcronym (0.00s)正則表達(dá)式101 兒童游樂場鏈接到正則表達(dá)式101中的游樂場問題我無法弄清楚如何僅編譯 for 測試用例并在測試用例中獲取 。HCHalley's CometNThe Road _Not_ Taken我必須保留小寫字符的原因之一是因?yàn)榇笮懀惨驗(yàn)槟承y試用例中的其他小寫字符[a-z]Complementary metal-oxide semiconductor我實(shí)際上可以刪除諸如正則表達(dá)式編譯之類的字符,但我認(rèn)為這不會使我的函數(shù)更加通用(而是通過測試)-_我想知道如何刪除字符,以使首字母縮略詞功能更強(qiáng)大?'_
查看完整描述

1 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

您可以使用


// Abbreviate: creates an acronym for a full form string

func Abbreviate(s string) string {

    var abbreviation = ""

    re := regexp.MustCompile(`\w'\w|(?:_|\b)([A-Za-z])`)

    for _, match := range re.FindAllStringSubmatch(s, -1) {

        abbreviation = abbreviation + match[1] 

    }

    return strings.ToUpper(abbreviation)

}

請參閱 Go 演示。詳細(xì)信息

  • \w'\w- 單詞字符, , 單詞字符 (為避免在單詞字符之間匹配,如果您有后續(xù)匹配的問題,請?zhí)鎿Q為''\b'\w)

  • |- 或

  • (?:_|\b)- 或字邊界_

  • ([A-Za-z])- 組 1:ASCII 字母(用于匹配任何統(tǒng)一碼字母)。\p{L}


查看完整回答
反對 回復(fù) 2022-09-19
  • 1 回答
  • 0 關(guān)注
  • 97 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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