我需要从文本文件中找到特定的文本行, 然后将其复制到新的文本文件中:
1:我有一个包含多行文本的文本文件,例如:
JOHN
MIKE
BEN
*BJAMES
PETE
2:所以,我将文本文件内容读入数组, 将每一行文本放入数组的单独元素中。
3:然后我测试了数组的每个元素, 要查找以以下内容开头的行,请说:*B ie:
if ( preg_match( "/^\*(B)/",$contents[$a] ) )
哪个工作正常...
4:然后我将该行文本复制(写入)到一个新的文本文件中。
问:那么如何从该行文本中删除“*B”, 在我将其写入新的文本文件之前?
最佳答案
如果您已经使用 preg_match
,您可以修改正则表达式以在另一个变量中获取您想要的内容。
if (preg_match('/^\*B(.*)$/', $contens[$a], $matches)
{
fwrite($targetPointer, $matches[1]);
}
使用 preg_match
后,变量 $matches
保存括在括号中的正则表达式子部分的单个匹配项。因此,行的相关部分由 (.*)
匹配并保存到 $matches[1]
中。
关于php - 在 PHP 中删除字符串开头的几个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6030479/