Устранить пробел в файле слова - PullRequest
1 голос
/ 25 февраля 2011

в моем файле слова есть сотни абзацев, которым нравится формат ниже.Здесь есть одна буква YЭто может быть другая буква кроме «A», «T», «C», «G».Я хочу удалить пробел в нем, а затем создать новую строку.

AAATGGGCCC CACAGAAGTG AGAATGGGTG AAGTCAGAAT TCCTGGTAAT GAAGTGCTTG
AACTTGGATT CCTCCCGACA TGTGCAGTAC AATGAGATGA TTTTCTCCTT AATGAGATTA
GGAAATTCTA TTAGCGCTCC CAGCTGCTGA CCCGATTCCA TGAGGCTGAG GCTCCAGGGC
TGAACCTGCC TGGTT
Y
AGTGTTCCTG GAAACTAGAC ACCCCACCCT TCAGATGGGC CAGGGCCTCC CCAGCTCTAC
CTAAAGCTGT GGTCTGCCCC CAGGGGTGCC CAGTTTCCTC CCTTCACCCT GTGCTCCAGA
GGAGTGTGGG GCCCTGGGCA TTCTGCAGTG TACCCCAGGA TCCTCACTCC TTCCTGCTTA

Формат новой строки

AAATGGGCCCCACAGAAGTGAGAATGGGTGAAGTCAGAATTCCTGGTAATGAAGTGCTTGAACTTGGATTCCTCCCGACATGTGCAGTACAATGAGATGATTTTCTCCTTAATGAGATTAGGAAATTCTATTAGCGCTCCCAGCTGCTGACCCGATTCCATGAGGCTGAGGCTCCAGGGCTGAACCTGCCTGGTT[Y]AGTGTTCCTGGAAACTAGACACCCCACCCTTCAGATGGGCCAGGGCCTCCCCAGCTCTACCTAAAGCTGTGGTCTGCCCCCAGGGGTGCCCAGTTTCCTCCCTTCACCCTGTGCTCCAGAGGAGTGTGGGGCCCTGGGCATTCTGCAGTGTACCCCAGGATCCTCACTCCTTCCTGCTTA

Обратите внимание, что Y становится [Y].

Окончательный результат будет сохранен в виде текстового файла.Спасибо за помощь.

1 Ответ

1 голос
/ 25 февраля 2011

Вам не нужно писать программу. Для этого достаточно инструмента «Заменить»:

  1. Заменить Y на [Y] (РЕДАКТИРОВАТЬ: см. Комментарии ниже, потому что это немного сложнее, чем на самом деле)
  2. Заменить ^w ничем (^w означает пробел )
  3. Заменить ^p ничем (^p означает маркеры абзаца )

РЕДАКТИРОВАТЬ: если вам нужен макрос, просто сделайте вышеуказанное один раз во время записи макроса.

РЕДАКТИРОВАТЬ: применяя метод, описанный в комментариях, я получаю следующий макрос VBA:

Sub ProcessATCG()
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "([!ACGT^13^32])"
        .Replacement.Text = "[\1]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "[^13^32]"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
...