嘿伙计我有多个字符串在某种程度上相似, 一般来说,他们总是看起来像:
一些文字:/**
* Update Marker ID
*/
public void updateMarkerId(MapsMarker marker, String id) {
open();
ContentValues values = new ContentValues();
String markerId = marker.getId();
values.put(COLUMN_MARKER_STRING_ID, id);
db.update(TABLE_LOCATION, values, COLUMN_MARKER_STRING_ID + "=" + markerId, null);
close();
}
带有textinside的多个括号:A3/S3 07/08-03/13 (8P)
完整的例子是:
[V][S][3D][IRE][44]
我需要“解析”一些看起来像的数组或对象:
A3/S3 07/08-03/13 (8P) [V] [S] [3D] [IRE] [44]
or
A4 allroad/RS4 od 11/11 (8K) [V] [S] [3D] [IRE] [74]
我尝试用以下内容爆炸至少第一个文本:
array(
[0] = "A3/S3 07/08-03/13 (8P)"
[1] = "V"
[2] = "S"
[3] = "3D"
[4] = "IRE"
[5] = "74"
)
不幸的是,这只是返回 $part = explode(") ", $name);
echo $part[0];
所以没有最后一个括号,即使没有[]中的那个值我也有点迷失,有可能有人可以帮助我吗?
答案 0 :(得分:2)
您可以使用此正则表达式:
$s = 'A3/S3 07/08-03/13 (8P) [V] [S] [3D] [IRE] [44]';
$arr = preg_split('/\h*[][]/', $s, -1, PREG_SPLIT_NO_EMPTY);
print_r( $arr );
<强>输出:强>
Array
(
[0] => A3/S3 07/08-03/13 (8P)
[1] => V
[2] => S
[3] => 3D
[4] => IRE
[5] => 44
)
正则表达式:\h*[][]
使用\h*
后跟[
或]