Текстовый файл в виде одной строки в коде PHP

0

мой текстовый файл выглядит так:

atagatatagatagtacataacta\п
actatgctgtctgctacgtccgta\п
ctgatagctgctcgctactacgat\п
gtcatgatctgatctacgatcaga\п

Мне нужен этот файл в одной строке или в одной строке как в том же порядке, так и в reverese:

atagatatagatagtacataactaactatgctgtctgctacgtccgtactgatagctgctcgctactacgatgtcatgatctgatctacgatcaga

и "reverese" (для которых я не писал код, потому что мне нужна помощь).
Я использую:

<?php
    $re = "/[AG]?[AT][AT]GAGG[ATC]GC[GA]?[ATGC]/"; 

    $str = file_get_contents("filename.txt");
    trim($str);

    preg_match($re, $str, $matches);
    print_r($matches);
?>
  • 0
    Почему вы используете preg_match? Просто удалите символы новой строки.
Теги:

1 ответ

1
Лучший ответ

Вы можете удалить пробелы и preg_replace строки, используя preg_replace, и вы можете изменить строку, используя strrev.

$yourString = "atagatatagatagtacataacta\n actatgctgtctgctacgtccgta\n ctgatagctgctcgctactacgat\n gtcatgatctgatctacgatcaga\n";    
$stringWithoutSpaces = preg_replace("/\s+/", "", $yourString);
$stringReversed = strrev($stringWithoutSpaces);
echo $stringReversed;

http://php.net/manual/de/function.preg-replace.php

http://php.net/manual/en/function.strrev.php

Объяснение: С помощью preg_replace вы заменяете любой символ в $yourString пустой строкой "" которая соответствует шаблону поиска "/\s+/". \s в шаблоне поиска обозначает любой символ пробела (вкладка, перевод строки, возврат каретки, пробел, formfeed), то есть + чтобы соответствовать также нескольким символам пробела, а не одному.

  • 0
    большое спасибо :)
  • 0
    Кстати, в вашем примере вы используете /n как переводы строк, которые не будут работать, вы должны использовать \n . Я сделал обновление в моем примере, чтобы исправить это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню