Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
String g = "<a>test</a>\n" +
"test</a>\n"+
"<a>test\n"+
"test\n";
Matcher m= Pattern.compile("<{0,1}\\w*?>{0,1}(\\w*)<{0,1}").matcher(g);
while(m.find()){
System.out.println(m.group(1));
}
Also wenn ich genau das was ich oben geschrieben habe bei mir laufen lasse (Copy&Paste) dann gibt er mir alle Zeichen aus die er findet.jorgeHX hat gesagt.:Sorry, aber ich habe das gerade mal getestet. Leider findet der bei mir nichts.
Biste sicher, dass das alles ok ist?
Danke für die Hilfe schon jetzt.
public class Main {
/**
* @param args
*/
public static void main( String[] args ) {
/* Testfälle */
// String test = "<td> blablabla <tag dsd> blubblub</td>";
// String test = "<td> bla > dasd </td>";
// String test = "<td> bla <tag> </td>";
String test = "<td><tag>blablabla</td>";
// String test = "<td> <tag1 <tag2> tag1>bla </td>";
// String test = "<td colspan=\"2\" align=\"center\" class=\"blauDunkelBlau\">AAAAA<low:dropdownComponent name=\"<%=LowWebappInfermWebSymbols.OPTION_BEAN_ZEITRAUM%>\" optionBean=\"<%=LowWebappInfermWebSymbols.OP_ZEITRAUM_DROP_DOWN_OPTIONS_LIST%>\" optionBeanProperty=\"DropDown\" selectionBean=\"<%=LowWebappInfermWebSymbols.OP_ZEITRAUM_DROP_DOWN_OPTIONS_LIST%>\" selectionBeanProperty=\"Selection\" action=\"true\" width=\"160\" maxDisplayedChars=\"33\" /></td>";
Matcher m = Pattern.compile("<td.*?>(.*?[<br>]?.*?)</td>").matcher(test);
ReplacementList list = new ReplacementList();
StringBuffer sb = new StringBuffer(test);
System.out.println(sb);
while(m.find()){
search2(list, m, 0, m.group(1));
}
Iterator it = list.getMap();
while(it.hasNext()){
Entry entry = (Entry)it.next();
ReplaceObject r = (ReplaceObject)entry.getValue();
int position = r.getStartPosition();
int end = r.getEndPosition();
sb.replace(position, end, "Hallo");
}
System.out.println(sb.toString());
}
public static void search2 (ReplacementList list, Matcher m, int appendIndex, String s){
if(s.matches("<a href.*?") == false){
int opened = 0;
int closed = 0;
int closedTagPosition = 0;
int firstOpenTag = s.indexOf("<");
int firstCloseTag = s.indexOf(">");
char[] a = null;
int arrayStartPosition = 0;
if( (firstOpenTag != -1 && firstCloseTag == -1) || (firstOpenTag == -1 && firstCloseTag != -1) || (firstOpenTag == -1 && firstCloseTag == -1) ){
if(s.length() > 0)
list.add(m.start(1) + appendIndex, m.start(1) + appendIndex + s.length(), s);
}
else if(firstOpenTag > 0){
String text = s.substring(0, firstOpenTag);
if(text.length() > 0)
list.add(m.start(1) + appendIndex, m.start(1) + appendIndex + firstOpenTag, text);
a = s.substring(firstOpenTag, s.length()).toCharArray();
arrayStartPosition = firstOpenTag;
}
else{
a = s.toCharArray();
}
String nextString = null;
if( a != null){
for(int i=0; i<a.length; i++){
if(a[i] == '<')
opened++;
else if(a[i] == '>')
closed++;
if(opened == closed){
closedTagPosition = i;
nextString = s.substring(arrayStartPosition + closedTagPosition + 1, s.length());
break;
}
}
}
if(nextString != null && nextString.length() > 0)
search2(list, m, arrayStartPosition + closedTagPosition+1, nextString);
}
}
import java.util.Comparator;
public class ReplaceObject {
private int startPosition;
private int endPosition;
private String germanText;
protected ReplaceObject( int startPosition, int endPosition, String germanText ){
this.startPosition = startPosition;
this.endPosition = endPosition;
this.germanText = germanText;
}
public int getStartPosition(){
return startPosition;
}
public int getEndPosition(){
return endPosition;
}
public String getGermanText(){
return germanText;
}
}// end Class
import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class ReplacementList implements Comparator{
private TreeMap replaceObjects;
protected ReplacementList (){
replaceObjects = new TreeMap(this);
}
public void add( int startPosition, int endPosition, String germanText ){
ReplaceObject o = new ReplaceObject( startPosition, endPosition, germanText );
replaceObjects.put(new Integer(startPosition), o);
}
public int compare( Object o1, Object o2 ) {
int start1 = ((Integer)o1).intValue();
int start2 = ((Integer)o2).intValue();
if(start1 < start2)
return 1;
else if(start1 > start2)
return -1;
return 0;
}
public Iterator getIterator(){
return replaceObjects.entrySet().iterator();
}
}// end Class