Register for your free account! | Forgot your password?

Go Back   elitepvpers > The Black Market > Other Trading > Coders Trading
You last visited: Today at 22:03

  • Please register to post and access all features, it's quick, easy and FREE!

 

[S] Linkfilter in Java [B] 10€ PSC

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2010
Posts: 81
Received Thanks: 14
Red face [S] Linkfilter in Java [B] 10€ PSC

Hallo,

ich suche einen Coder der mir ein kleines Programm schreibt welches mittels Regular Expression, Links aus html Strings filtert.

zB:

String 1 = <A HREF="http://www.google.com">Google </A>

Ausgabe: "www.google.com"


Für mehr Informationen bitte per PM melden.



LG



lolmatze is offline  
Old   #2 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,408
Received Thanks: 2,023
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class LinkFilter {
	private String link;
	
	public LinkFilter(String in) {
		this.link = in;		
	}
	
	public String getLink() {
		int startPos = this.link.indexOf("\"");
		int endPos = this.link.indexOf("\"", startPos + 1);
		
		return(this.link.substring(startPos + 1, endPos));
	}
	
	public static void main(String[] args) {
		
		System.out.println("Link eingeben");
		
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		try {
			String link = in.readLine();
			LinkFilter filter = new LinkFilter(link);
			
			System.out.println(filter.getLink());
		} 
		catch (IOException e) {
			e.printStackTrace();
		}		
	}
}
bsp:
<a href="http://www.ne4y.de">NE4Y</a>

-->
Code:
http://www.ne4y.de
ist zwar nicht direkt über Regex gemacht aber so gehts auch.


NotEnoughForYou is offline  
Thanks
1 User
Old   #3 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Sep 2007
Posts: 234
Received Thanks: 321
@NotEnoughForYou
Das Beispiel das du gepostet hast würde jedes html attribut auch mit ausgeben z.B. id="blubb"

Glaube auch das deine Variante so nicht genau gewünscht war, da es auch kein regex verwendet, außerdem würde er bei dir nur den 1. Gefundenen eintrag ausgeben und nicht eine Liste aller Links. Seih mir nicht böse und siehe das bitte als konstruktive Kritik


So Zum Problem des Threadstarters:
Habe mich ein wenig schlau gemacht und auch diese Seite hier als Hilfe verwendet:

Empfehle die Seite auch da ich sie selber häufiger verwende, wenn es um Java geht.

Habe einen Beispielcode geschrieben, der bei mir soweit funktioniert hat. Wenn es damit noch Probleme geben sollte meld dich hier oder per pm.

Code:
import java.util.ArrayList;
import java.util.List;

/**
 * Eine Beispielklasse zum Filtern von Links aus einer html-Seite
 * 
 * 12.12.2012
 * 
 * @author Shiru
 * 
 */
public class ExampleReg {

	/**
	 * Macht bisher nix
	 */
	public ExampleReg() {

	}

	/**
	 * Mit hilfe von RegEx wird ein pattern erstellt was zum Filter von Links
	 * innerhalb einer html seite verwendet werden kann. Spezieller filtert er
	 * alle Links innerhalb eines href-Attributes
	 * 
	 * @param text der zu filternde Text
	 * @return eine Liste aller gefundenen Links
	 */
	public List<String> filterAllHref(String text) {
		String pattern_regex = "(.+?)(href=\")(.+?)(\".*)";

		List<String> stringlist = new ArrayList<String>();

		String temp_str = "";
		do {
			temp_str = text.replace("\n", "").replace("\r", "")
					.replaceAll(pattern_regex, "$3");

			if (temp_str != "") {
				stringlist.add(temp_str);
			}
			text = text.replace("href=\"" + temp_str + "\"", "");
		} while (text.contains("href=\""));

		return stringlist;
	}

	/**
	 * Erstellt ein ExampleReg-Objekt und Filtert mit dessen Hilfe alle
	 * enthaltenden Links aus.
	 * 
	 * @param args
	 *            wird nicht verwendet
	 */
	public static void main(String[] args) {

		String text = "<a href=\"http://www.blubb.de\" />\n\r"
				+ "    <h1 id=\"header1\">asdfhref</h1>\n\r\n\r"
				+ "<a href=\"http://www.google.de\" />\n\r";

		List<String> stringlist = new ExampleReg().filterAllHref(text);
		for (String blubb : stringlist) {
			System.out.println(blubb);
		}
	}

}
Wenns dir soweit geholfen hat, die Psc bitte per pm ;D


MfG

Edit: Die Bedingung der While noch ein wenig angepasst. Hoffe jetzt is allet drinne
Viper3001 is offline  
Thanks
2 Users
Old   #4 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,408
Received Thanks: 2,023
Quote:
Originally Posted by Viper3001 View Post
@NotEnoughForYou
Das Beispiel das du gepostet hast würde jedes html attribut auch mit ausgeben z.B. id="blubb"

Glaube auch das deine Variante so nicht genau gewünscht war, da es auch kein regex verwendet, außerdem würde er bei dir nur den 1. Gefundenen eintrag ausgeben und nicht eine Liste aller Links. Seih mir nicht böse und siehe das bitte als konstruktive Kritik


So Zum Problem des Threadstarters:
Habe mich ein wenig schlau gemacht und auch diese Seite hier als Hilfe verwendet:

Empfehle die Seite auch da ich sie selber häufiger verwende, wenn es um Java geht.

Habe einen Beispielcode geschrieben, der bei mir soweit funktioniert hat. Wenn es damit noch Probleme geben sollte meld dich hier oder per pm.

Code:
import java.util.ArrayList;
import java.util.List;

/**
 * Eine Beispielklasse zum Filtern von Links aus einer html-Seite
 * 
 * 12.12.2012
 * 
 * @author Shiru
 * 
 */
public class ExampleReg {

	/**
	 * Macht bisher nix
	 */
	public ExampleReg() {

	}

	/**
	 * Mit hilfe von RegEx wird ein pattern erstellt was zum Filter von Links
	 * innerhalb einer html seite verwendet werden kann. Spezieller filtert er
	 * alle Links innerhalb eines href-Attributes
	 * 
	 * @param text der zu filternde Text
	 * @return eine Liste aller gefundenen Links
	 */
	public List<String> filterAllHref(String text) {
		String pattern_regex = "(.+?)(href=\")(.+?)(\".*)";

		List<String> stringlist = new ArrayList<String>();

		String temp_str = "";
		do {
			temp_str = text.replace("\n", "").replace("\r", "")
					.replaceAll(pattern_regex, "$3");

			if (temp_str != "") {
				stringlist.add(temp_str);
			}
			text = text.replace("href=\"" + temp_str + "\"", "");
		} while (text.contains("href=\""));

		return stringlist;
	}

	/**
	 * Erstellt ein ExampleReg-Objekt und Filtert mit dessen Hilfe alle
	 * enthaltenden Links aus.
	 * 
	 * @param args
	 *            wird nicht verwendet
	 */
	public static void main(String[] args) {

		String text = "<a href=\"http://www.blubb.de\" />\n\r"
				+ "    <h1 id=\"header1\">asdfhref</h1>\n\r\n\r"
				+ "<a href=\"http://www.google.de\" />\n\r";

		List<String> stringlist = new ExampleReg().filterAllHref(text);
		for (String blubb : stringlist) {
			System.out.println(blubb);
		}
	}

}
Wenns dir soweit geholfen hat, die Psc bitte per pm ;D


MfG

Edit: Die Bedingung der While noch ein wenig angepasst. Hoffe jetzt is allet drinne
Bin davon ausgegangen, dass die Eingabe genausp aussieht wie in seinem Bsp.. Da das ganze aber vermutlich eh eine Hausaufgabe war hat sich das bestimmt erledigt.

Keine Sorge man lernt doch aus Kritik ;-). Java ist sowieso nicht mein Spezialgebiet :-).


NotEnoughForYou is offline  
Thanks
1 User
Old   #5 Trade Status: Unverified(?)
 
elite*gold: 0
Join Date: Sep 2007
Posts: 234
Received Thanks: 321
Falls du fragen in der Richtung hast kannste dich ja eh bei mir melden.

Davon abgesehen war der Themenstarter seit der Anfrage wohl nimma online. Mal abwarten, ob er sein Angebot auch einhält


MfG


Viper3001 is offline  
Thanks
1 User
Reply



« Previous Thread | Next Thread »

Similar Threads
[JAVA Error] Could not create the java virtual machine
Schönen Abend! Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt. ...
10 Replies - Technical Support
[Java] Could not create the Java virtual machine
hallo ihr minecraftler ^^ habe seit heute das problem das wenn ich minecraft starte original als auch cracked das diese fehlermeldung kommt: ...
1 Replies - Minecraft



All times are GMT +1. The time now is 22:03.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.