Hallo Community,
Suche und google benutzt, keine passende lösung bevor was is^^
bin neu hier und hoffe es gefällt mir
Kurz zu mir: Ich bin noch nicht lange in der Java-Programmierung drinne ( erst seit ca 1 1/2 Jahren) und habe neulich an einem neuen Programm gearbeitet. Dort wollte ich, um eine bestimmte Textstelle herauszulesen, die Klassen Pattern und Matcher hinzuziehen. In einem kleinen Beispielprogramm funkioniert es:
Im String "interessanterString" steht "ist mehr" drin. Funktioniert super. Doch es ist nur ein kurzer Text im vergleich zu:
Wie ihr seht: deutlich länger^^
Ich möchte gerne "dhcp" von "set address name="LAN-Verbindung" source=dhcp " herauslesen, und er will mir den String einfach nicht geben. Mein code dazu:
Der Text hier steht im String ausgabe drinne (der dos befehl mit zeilenumbrüchen): "\r\nset address name="LAN-Verbindung" source=dhcp \r\nset dns name="
Mache ich etwas falsch? habe ich was blödes Programmiert?^^
Komme einfach nicht weiter...
MfG,
Hintertür
Suche und google benutzt, keine passende lösung bevor was is^^
bin neu hier und hoffe es gefällt mir
Kurz zu mir: Ich bin noch nicht lange in der Java-Programmierung drinne ( erst seit ca 1 1/2 Jahren) und habe neulich an einem neuen Programm gearbeitet. Dort wollte ich, um eine bestimmte Textstelle herauszulesen, die Klassen Pattern und Matcher hinzuziehen. In einem kleinen Beispielprogramm funkioniert es:
Java:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestClass {
public void test() {
String st = "das ist Text und HIER ist mehr Text";
Pattern p = Pattern.compile(".*?HIER\\s(.*?)Text");
Matcher m = p.matcher(st);
boolean matches = m.matches();
int groupCount = m.groupCount();
String interessanterString = m.group(1);
}
Im String "interessanterString" steht "ist mehr" drin. Funktioniert super. Doch es ist nur ein kurzer Text im vergleich zu:
#============================
# Schnittstellenkonfiguration
#============================
pushd interface
reset all
popd
# Ende der Schnittstellenkonfiguration
#============================
# Schnittstellenkonfiguration
#============================
pushd interface ipv6
uninstall
popd
# Ende der Schnittstellenkonfiguration
# ----------------------------------
# ISATAP-Konfiguration
# ----------------------------------
pushd interface ipv6 isatap
popd
# Ende der ISATAP-Konfiguration
# ----------------------------------
# 6-zu-4-Konfiguration
# ----------------------------------
pushd interface ipv6 6to4
reset
popd
# Ende der 6-zu-4-Konfiguration
#========================
# Portproxykonfiguration
#========================
pushd interface portproxy
reset
popd
# Ende der Portproxykonfiguration
# ----------------------------------
# Schnittstellen-IP-Konfiguration
# ----------------------------------
pushd interface ip
# Schnittstellen-IP-Konfiguration für ""LAN-Verbindung""
set address name="LAN-Verbindung" source=dhcp
set dns name="LAN-Verbindung" source=dhcp register=PRIMARY
set wins name="LAN-Verbindung" source=dhcp
popd
# Ende der Schnittstellen-IP-Konfiguration
# Schnittstellenkonfiguration
#============================
pushd interface
reset all
popd
# Ende der Schnittstellenkonfiguration
#============================
# Schnittstellenkonfiguration
#============================
pushd interface ipv6
uninstall
popd
# Ende der Schnittstellenkonfiguration
# ----------------------------------
# ISATAP-Konfiguration
# ----------------------------------
pushd interface ipv6 isatap
popd
# Ende der ISATAP-Konfiguration
# ----------------------------------
# 6-zu-4-Konfiguration
# ----------------------------------
pushd interface ipv6 6to4
reset
popd
# Ende der 6-zu-4-Konfiguration
#========================
# Portproxykonfiguration
#========================
pushd interface portproxy
reset
popd
# Ende der Portproxykonfiguration
# ----------------------------------
# Schnittstellen-IP-Konfiguration
# ----------------------------------
pushd interface ip
# Schnittstellen-IP-Konfiguration für ""LAN-Verbindung""
set address name="LAN-Verbindung" source=dhcp
set dns name="LAN-Verbindung" source=dhcp register=PRIMARY
set wins name="LAN-Verbindung" source=dhcp
popd
# Ende der Schnittstellen-IP-Konfiguration
Wie ihr seht: deutlich länger^^
Ich möchte gerne "dhcp" von "set address name="LAN-Verbindung" source=dhcp " herauslesen, und er will mir den String einfach nicht geben. Mein code dazu:
Java:
Runtime rt = Runtime.getRuntime();
Process p = null;
p = rt.exec ("netsh interface dump");
// p.waitFor();
InputStream in = p.getInputStream();
String ausgabe = StringTools.stringFromInputStream(in);// Liest die ausgabe ein und schreibt sie zu ausgabe hinzu
Pattern pattern = Pattern.compile(".*?set address name=\"LAN-Verbindung\" source=(.*?) \\r\\nset dns name=");
Matcher m = pattern.matcher(ausgabe);
boolean matcher =m.matches();
int groupCount = m.groupCount();
String interessanterText = m.group(1);
if (interessanterText.equalsIgnoreCase("dhcp")) {
System.out.println("Funktioniert");
}
Der Text hier steht im String ausgabe drinne (der dos befehl mit zeilenumbrüchen): "\r\nset address name="LAN-Verbindung" source=dhcp \r\nset dns name="
Mache ich etwas falsch? habe ich was blödes Programmiert?^^
Komme einfach nicht weiter...
MfG,
Hintertür