我如何搜索文件找到字符串并获取/ /

时间:2019-09-09 15:48:13

标签: c#

好吧,我尽力得到这个字符串

"/i/models/fc6d6067621442ebb6f4238636363d47/textures?optimized=1"

但是我只需要获取数字之间的//并将其保存到字符串中,因为我打开的每个json文件都有不同数量的数字

我尝试使用正则表达式,但是它在文件中发现了不同的一致性,而我只需要与此行匹配的那个

该文件是json文件

https://i.imgur.com/B98gdBD.png

但不确定如何完成此操作

这是我尝试过的代码

            List<string> found = new List<string>();
            string line;
            using (StreamReader file = new StreamReader(Application.StartupPath + "\\textures.json"))
            {
                while ((line = file.ReadLine()) != null)
                {
                    if (line.Contains("textures?optimized=1"))
                    {
                        texturemodel = line;
                    }
                }
            }

此代码确实有效,并且确实获得了我所拥有的仅一行问题;}在其末尾,因此它几乎可以正常工作,但不确定如何在开始处删除空格;在{文件结尾,空格位于文件开头

预先感谢elfenliedtopfan5

2 个答案:

答案 0 :(得分:1)

如果您确定那个始终是格式,请尝试string.Split()

var stringWithJumbledNumbersAndLetters = "/i/models/fc6d6067621442ebb6f4238636363d47/textures?optimized=1";

var splitString = stringWithJumbledNumbersAndLetters.Split('/');
//splitString[0] = i;
//splitString[1] = models;
//splitString[2] = fc6d6067621442ebb6f4238636363d47;
//splitString[3] = textures?optimized=1;
return splitString[2];

或直接将是

var stringWithJumbledNumbersAndLetters = "/i/models/fc6d6067621442ebb6f4238636363d47/textures?optimized=1";

return stringWithJumbledNumbersAndLetters.Split('/')[2];

答案 1 :(得分:0)

String s = "/i/models/fc6d6067621442ebb6f4238636363d47/textures?optimized=1";
String[] result = s.split("/");
System.out.println(result[3]);