我有txt文件,电子邮件地址在另一个下面,如:
test@test.com test2@test.com
到目前为止,我设法打开它
$result = file_get_contents("tmp/emails.txt");但我不知道要在数组中获取电子邮件地址.基本上我可以使用爆炸但是如何划分新线?提前感谢任何答案! 可能重复:
如何在PHP中用多个分隔符拆分字符串?
将字符串同时拆分为三个分隔符的最有效方法是什么,特别是单个空格,换行符和逗号?
我需要在数据库中存储大量的二维数组,并且不确定要使用什么:serialize或者implode.所以我做了一些测试,找出哪一个工作得更快,并得出结论serialize:
Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds
Run Code Online (Sandbox Code Playgroud)
所以问题是:为什么内爆+爆炸比串行化+反序列化要慢得多?
PS:我已经发现了这个问题,但这并不是我要问的问题.
所以我用php获取了一部分网址.此部分可能有也可能没有尾随'?' 值.所以例如:我正在爆炸url:stackoverflow.com/questions我想得到问题,所以我做了类似的事情explode ('/',$url).假设在此示例中,url可能如下所示:stackoverflow.com/questions?query.我不希望结束'查询',所以我这样做explode ('?',$questionurl[no.]).但是当字符串不包含分隔符时,如何处理爆炸?它只是返回字符串,还是返回false?
我已经阅读了php文档并查看了堆栈中的问题,但似乎无法找到这个确切的场景.
我可以自己测试一下,但我正在工作的环境设置为与drupal一起工作.因此,为了能够测试一个简单的查询,需要相当多的麻烦,我认为这对所有和未来的聚会都更有用.
我有以下虚拟数据框:
df = pd.DataFrame({'Col1':['a,b,c,d', 'e,f,g,h', 'i,j,k,l,m'],
'Col2':['aa~bb~cc~dd', np.NaN, 'ii~jj~kk~ll~mm']})
Col1 Col2
0 a,b,c,d aa~bb~cc~dd
1 e,f,g,h NaN
2 i,j,k,l,m ii~jj~kk~ll~mm
Run Code Online (Sandbox Code Playgroud)
真实数据集具有形状500000, 90。
我需要将这些值取消嵌套到行中,并且explode为此使用了新方法,该方法工作正常。
问题是NaN,这些将导致后面的长度不相等explode,因此我需要填充与填充值相同数量的定界符。在这种情况下,~~~由于第1行具有三个逗号。
预期产量
Col1 Col2
0 a,b,c,d aa~bb~cc~dd
1 e,f,g,h ~~~
2 i,j,k,l,m ii~jj~kk~ll~mm
Run Code Online (Sandbox Code Playgroud)
尝试1:
df['Col2'].fillna(df['Col1'].str.count(',')*'~')
Run Code Online (Sandbox Code Playgroud)
尝试2:
np.where(df['Col2'].isna(), df['Col1'].str.count(',')*'~', df['Col2'])
Run Code Online (Sandbox Code Playgroud)
这可行,但是我觉得有一个更简单的方法:
characters = df['Col1'].str.replace('\w', '').str.replace(',', '~')
df['Col2'] = df['Col2'].fillna(characters)
print(df)
Col1 Col2
0 a,b,c,d aa~bb~cc~dd
1 e,f,g,h ~~~
2 i,j,k,l,m ii~jj~kk~ll~mm
d1 = df.assign(Col1=df['Col1'].str.split(',')).explode('Col1')[['Col1']]
d2 = …Run Code Online (Sandbox Code Playgroud) 为什么我不能立即访问返回的数组中的元素explode()?
例如,这不起作用:
$username = explode('.',$thread_user)[1];
//Parse error: syntax error, unexpected '[
Run Code Online (Sandbox Code Playgroud)
但是这段代码确实:
$username = explode('.',$thread_user);
$username = $username[1];
Run Code Online (Sandbox Code Playgroud)
我通常不用PHP编程,所以这对我来说相当混乱.
什么是实现以下目标的最佳方法.
我有这种格式的字符串:
$s1 = "name1|type1"; //(pipe is the separator)
$s2 = "name2|type2";
$s3 = "name3"; //(in some of them type can be missing)
Run Code Online (Sandbox Code Playgroud)
我们假设nameN/ typeN是字符串,它们不能包含管道.
由于我需要逐步提取名称/类型,我这样做:
$temp = explode('|', $s1);
$name = $temp[0];
$type = ( isset($temp[1]) ? $temp[1] : '' );
Run Code Online (Sandbox Code Playgroud)
是否有更简单(更智能更快)的方式来做到这一点,而不必做isset($temp[1])或count($temp).
谢谢!
我试图在看起来像一个空字符的东西上爆炸一个字符串.
这就是我正在使用的:$exp = explode('\x00', $bin);.
虽然这不起作用.但是,如果我这样做$exp = explode($bin[5], $bin);($bin这个角色我想要爆炸的角色5 )它可以正常工作.
如果我这样做var_dump($bin[5])它向我显示带有问号的方块( ),并在视图源中我得到:�
谁能告诉我爆炸这个角色最好的方法是什么?或者即使它是空字符(根据ascii表格,除非我读错了).
谢谢
我一直在查看Google搜索结果的页面和页面,但没有找到任何可以帮助我的内容.
我想要做的就是分割一个字符串Bananas22Apples496Pears3,并将其分解为某种可读格式.既然String.split()不能这样做,我想知道是否有人能指出我可以完成这个的正则表达式片段.
扩展一下:上面的字符串将被拆分为(String[]为简单起见):
{"Bananas:22", "Apples:496", "Pears:3"}
Run Code Online (Sandbox Code Playgroud) 我有一些关于php explode函数的问题.
我要爆炸的字符串是:
,.stl,.ppl
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用爆炸功能:
explode(',',',.stl,.ppl');
Run Code Online (Sandbox Code Playgroud)
不幸的是,这是有问题的,它返回三个字符串:
array(3) { [0]=> string(0) "" [1]=> string(4) ".stl" [2]=> string(4) ".ppl" }
Run Code Online (Sandbox Code Playgroud)
为什么第一个字符串是空白的?
显而易见的解决方案是跳过数组的第一个元素,但是,为什么我需要这样做呢?
该explode()功能是否应该自动删除此空白数组,或者根本不生成它?