Почему я теряю информацию PTS при кодировании в H264?

подход Яна велик, но вот еще один для записи.

Если вы действительно хотели разделить, как указано в заголовке, сохраняя кавычки в "will be" и 'regular expression', вы можете использовать этот метод, который прямо из Match (или replace) шаблон, за исключением ситуаций s1, s2, s3 и т. д.

Регулярное выражение:

'[^']*'|\"[^\"]*\"|( )

Два левых чередования соответствуют полному 'quoted strings' и "double-quoted strings". Мы проигнорируем эти матчи. Правая сторона сопоставляет и фиксирует пробелы в группе 1, и мы знаем, что они являются правильными пространствами, потому что они не соответствовали выражениям слева. Мы заменим их на SplitHere, затем разделим на SplitHere. Опять же, это для истинного раздельного случая, когда вы хотите "will be", а не will be.

Вот полная рабочая реализация (см. Результаты в онлайн-демонстрации ). .

import java.util.*;
import java.io.*;
import java.util.regex.*;
import java.util.List;

class Program {
public static void main (String[] args) throws java.lang.Exception  {

String subject = "This is a string that \"will be\" highlighted when your 'regular expression' matches something.";
Pattern regex = Pattern.compile("\'[^']*'|\"[^\"]*\"|( )");
Matcher m = regex.matcher(subject);
StringBuffer b= new StringBuffer();
while (m.find()) {
    if(m.group(1) != null) m.appendReplacement(b, "SplitHere");
    else m.appendReplacement(b, m.group(0));
}
m.appendTail(b);
String replaced = b.toString();
String[] splits = replaced.split("SplitHere");
for (String split : splits) System.out.println(split);
} // end main
} // end Program

1
задан Nick 28 February 2019 в 10:06
поделиться

1 ответ

AVI на самом деле не поддерживает H.264.

Есть несколько хаков, которые заставляют его работать, но неудивительно, что у вас есть побочные эффекты. Попробуйте вместо этого использовать MP4 или MKV.

0
ответ дан Brad 28 February 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: