мой текстовый файл выглядит так:
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);
?>
Вы можете удалить пробелы и 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), то есть +
чтобы соответствовать также нескольким символам пробела, а не одному.
/n
как переводы строк, которые не будут работать, вы должны использовать \n
. Я сделал обновление в моем примере, чтобы исправить это.