Ich versuche, eine große Größe der Zeichenfolge in Java zu spalten. Es funktionierte gut auf einer anderen Saite, aber das Problem ist, wenn ich versuche, diese große Saite zu teilen, wird nur ein Teil der Saite geteilt. Der andere Teil ist immer noch derselbe und wird nicht geteilt.Split eine große Größe Zeichenfolge aus einer XML-Abfrage auf „ “ mit Java
Was ich bisher getan habe: Ich bin mit split()
Funktion, und es funktioniert nicht. Zweitens verwende ich Split basierend auf regex ("[\\\\r\\\\n]+")
und auf Arraylist setzen und versuchen, von dort zu ersetzen, und es ist auch nicht
mein erster Code arbeiten:
String string;
string = AudioSpectrumProjectionType().trim();
String[] hasil = string.split("
");
for(int i = 0 ; i<hasil.length;i++){
System.out.print(hasil[i].trim().replace(" ",","));
if (i%20 == 0)
System.out.print("\n");
if(i != hasil.length-1)
System.out.print(",");
}
mein zweiter Code:
ArrayList<String> arrayList = new ArrayList<String>();
String string;
string = AudioSpectrumProjectionType().trim();
String[] hasil = string.split("[\\r\\n]+");
for(int i = 0 ; i<hasil.length;i++){
arrayList.add(hasil[i].trim());
}
for(int i = 0 ; i<arrayList.size();i++){
String print = arrayList.get(i);
System.out.println(print.replaceAll("
",""));
}
(
AudioSpectrumProjectionType) Funktion ist nur eine Abfrage aus einer xml, hier ist der Code:
private static String AudioSpectrumProjectionType() throws BaseXException{
String query =
"declare default element namespace \"urn:mpeg:mpeg7:schema:2001\";" +
"declare namespace mpeg7 = \"urn:mpeg:mpeg7:schema:2001\";" +
"declare namespace xsi = \"http://www.w3.org/2001/XMLSchema-instance\";" +
"for $x in doc(\"C:/Users/ponighzwa/IdeaProjects/ExtractDescriptor/cover/lagu/voice isolation 2/xml/original/perempuan/The One That Got Away.xml\")/Mpeg7/Description/MultimediaContent/Audio/AudioDescriptor\n return if($x/@xsi:type=\"AudioSpectrumProjectionType\")then data($x/SeriesOfVector/Raw) else \"\"";
System.out.println(new XQuery(query).execute(context));
String hasil = new XQuery(query).execute(context);
return hasil;
}
das Ergebnis Ich mag erwarten:
0.6324845 0.48125452 0.2834291 0.51651007 0.47841766 0.36249334 0.3128651
Ergebnis i erhalten:
769.31354 -0.991627 -0.008771153 -0.0958663 0.047845073 -0.02021278 -0.03738797 0..0136948135
2615.384 -0.99431473 0.024853256 -0.07093173 0.0330488 -0.03610177 -0.03400125 0.014497152 0.0082630105
2615.384 -0.99431473 0.024853256 -0.07093173 0.0330488 -0.03610177 -0.03400125 0.014497152 0.0082630105
2615.384 -0.99431473 0.024853256 -0.07093173 0.0330488 -0.03610177 -0.03400125 0.014497152 0.0082630105
2615.384 -0.99431473 0.024853256 -0.07093173 0.0330488 -0.03610177 -0.03400125 0.014497152 0.0082630105
2615.384 -0.99431473 0.024853256 -0.07093173 0.0330488 -0.03610177 -0.03400125 0.014497152 0.0082630105
Ich brauche es ohne " ", begegnen jemand jemals gleiche Problem?
Es ist nicht geteilt, sondern es ist, dass Ihre Zeichenfolge unterschiedliche Trennzeichen haben. Vielleicht haben nur die erste Hälfte ' ' als Zeilentrennzeichen. Also müssen Sie die ' ' zuerst durch "\ r \ n" ersetzen, dann auf "[\\ r \\ n] +" aufteilen. –