Найти текст (Hex) между двумя строками - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь найти текст между двумя строками, используя некоторые приведенные здесь примеры. Я могу это сделать в конкретном случае, но когда дело доходит до шестнадцатеричного (с использованием тех же идентификаторов), я получаю ошибку.Пожалуйста, подскажите, как получить значение между .... образцом и ошибкой, приведенными ниже ... Примечание. У меня большой текст (полные текстовые файлы приблизительно 9999 слов). Я предоставил только образец текста, который работает нормально

private static void modifyText() {
       String str1 = "private final byte[] record1 = new byte[]{sdfjsdkhfkjsdf hgb sdjfkhsdkfsdf |sdfjksdhfjksd sdf sdkjfhsdkf | sdkjfh hgb sdkjfdshfks|}";
          String result1 = str1.substring(str1.indexOf("byte[] record1 = new byte[]{") , str1.indexOf("}"));
          System.out.println("\n found1\n"+result1);

      String pattern1 = "record1 = new byte[]{";
      String pattern2 = "}";

       String text= "private final byte[] record1 = new byte[]{\r\n (byte)0x70,(byte)0x80}"; //**for small text it is working**   

      String result = text.substring(text.indexOf(pattern1) + 1, text.indexOf(pattern2));

      System.out.println("\n found2\n"+result);
  }

found1 печатает идеально ниже байта [] record1 = new byte [] {sdfjsdkhfkjsdf hgb sdjfkhsdkfsdf | sdfjksdhfjksd sdf sdkjfhsdkf |sdkjfh hgb sdkjfdshfks |

пока найдено 2 говорит об ошибке ------- java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: -799 в java.lang.String.substring (неизвестный источник)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...