1

与えられた入力に基づいて:

私はもっ​​とうまくやることができます :DDDD!!!! 私はそれについてすっごく興奮しています :))) いいね !!

望ましい: 出力

私はもっ​​とうまくやれる/LNG :D/LNG !/LNG 私はとても/LNG はそれについて興奮している :)/LNG 良い !/LNG

--- 課題:

  1. 良い vs. sooooooooo >> 最初のものはそのままにしておく必要があるが、2番目のものは短くする必要がある
  2. 2 つ目は、タグ (LNG) を追加する必要があります。これは、主観性と感情を強化するために重要な意味を持つ可能性があるためです。

---- 問題: エラー メッセージ「括弧のバランスが取れていません」

何か案は?

私のコードは次のとおりです。

import re 

lengWords = {} # a dictionary of lengthened words 

def removeDuplicates(corpus):

data = (open(corpus, 'r').read()).split()
myString = " ".join(data)

for word in data:
    for chr in word: 
        countChr = word.count(chr)
        if countChr >= 3: 
            lengWords[word] = word+"/LNG"
            lengWords[word] = re.sub(r'([A-Za-z])\1+', r'\1', lengWords[word])
            lengWords[word] = re.sub(r'([\'\!\~\.\?\,\.,\),\(])\1+', r'\1', lengWords[word])                             

    for k, v in lengWords.items():
        if k == word: 
            re.sub(word, v, myString)
return myString
4

1 に答える 1

1

これは完璧な解決策ではありませんが、今はそれを改良する時間がありません。簡単なアプローチから始めたいと思っただけです。

s = "I can do waaaaaaaaaaaaay better :DDDD!!!! I am sooooooooo exicted about it :))) Good !!"
re.sub(r'(.)(\1{2,})',r'\1/LNG',s)
>> 'I can do wa/LNGy better :D/LNG!/LNG I am so/LNG exicted about it :)/LNG Good !!'
于 2012-05-28T17:30:15.137 に答える