我正在尝试为 Wavefront Object 文件创建一个基本的模型查看器,并且文件的部分读取包括分割每一行。面是根据斜线定义的。这些是可以从维基百科解析的不同类型的面孔:
f v1 v2 v3 v4 ... <- Face built of vertices
f v1/vt1 v2/vt2 v3/vt3 ... <- Face built of vertices + textures
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 ... <- Face built of vertices, textures, and normals
f v1//vn1 v2//vn2 v3//vn3 ... <- Face built of vertices and normals
我一直在逐步阅读每一行,如果它以“f”开头,我会在删除整行的前两个字符以创建面部后将其发送到另一个方法。
例如f v1 v2 v3
会去v1 v2 v3
当我必须处理带有斜线的线条时,我认为我将它们分开是错误的,因为我没有得到正确的结果。我目前正在使用这两个拆分:
string.split("/");
string.split("//");
这是否会产生问题,因为 split 参数应该是一个正则表达式,而我试图按正则表达式中常用的(我相信是)字符进行分割?