这是我的下半部分基于字符串斩(如同这个词)question。我收到一个动态字符串hell知道它会有多大。我做了一些部分,但问题是如何从所有报告中删除RSSI字段。我知道这将使用正则表达式完成,但说实话,我对正则表达式知之甚少。所以需要你的帮助
传感器位置,3,传感器报告开始,000D6F000023B6AD,S2主厨KE,000,3012,RSSI,01,传感器报告结束,传感器报告开始,000D6F000023B5BD,S2 Main Hall,741,3512,RSSI, 01,传感器报告结束,传感器报告开始,000D6F000023C6AD,S2大厅,579,3321,RSSI,01,传感器报告结束
预期的输出就像
传感器位置,3,传感器报告开始,000D6F000023B6AD,S2主厨KE,000,3012,01,传感器报告结束,传感器报告开始,000D6F000023B5BD,S2 Main Hall,741,3512,01,End of传感器报告,传感器报告开始,000D6F000023C6AD,S2大厅,579,3321,01,传感器报告结束
答案 0 :(得分:0)
为确保匹配完整的“needle”而不匹配不是您的字符串的部分,请匹配指针两侧的逗号并用逗号替换匹配项。
代码:(Demo)
$string = 'Sensor Location,3,Start of Sensor Report,000D6F000023B6AD,S2 Main Kitchen KE,000,3012,RSSI,01,End of Sensor Report,Start of Sensor Report,000D6F000023B5BD,S2 Main Hall,741,3512,RSSI,01,End of Sensor Report,Start of Sensor Report,000D6F000023C6AD,S2 Lobby,579,3321,RSSI,01,End of Sensor Report';
echo str_replace(',RSSI,', ',', $string);