# String ersetzen



## mukkerson (7. Apr 2009)

hi ,

wie ersetze ich einen string an einer bestimmten stelle, durch einen anderen string
ich habe mir schon was zusammengebastelt, aber irgendwie komme ich nicht wirklich weiter.

[HIGHLIGHT="Java"]int start = line.indexOf("<FirstDetect>");
	int end = line.indexOf("</FirstDetect>");
	if(start > 0 && end > 0)
	{
	start += 13;
	String before = line.substring(0,start);

	SimpleDateFormat date = new SimpleDateFormat("yyyy-mm-dd'T'hh:mm");

	String after = line.substring(end, line.length());
	}[/HIGHLIGHT]


----------



## faetzminator (7. Apr 2009)

Wieso hast du nun einen neuen Thread aufgemacht?
Ich bleibe bei meiner Aussage, dass du JDOM verwenden sollst.
Ansonsten solltest du JavaDoc's lesen, in diesem Fall String (Java Platform SE 6)


----------



## ARadauer (7. Apr 2009)

if(start > 0...
wieso? wenn <FirstDetect> ganz am anfang deiner line steht, kommt 0 raus...
und btw Strings kann man nicht verändern, das sollte vielleicht berücksichtig werden......


```
String line = "<FirstDetect>sadf</FirstDetect>";
         
         int start = line.indexOf("<FirstDetect>");
         int end = line.indexOf("</FirstDetect>");
         System.out.println(start);
         System.out.println(end);
         if(start >= 0 && end >= 0){
         start += 13;
         String before = line.substring(0,start);
         
         SimpleDateFormat date = new SimpleDateFormat("yyyy-mm-dd'T'hh:mm");
          
         String after = line.substring(end, line.length());
         
         System.out.println(before);
         System.out.println(after);
```
...


----------



## mukkerson (7. Apr 2009)

also ich will in einer xml-datei die zeit , die dort eingetragen ist mit firstdetect, nach der aktuellen systemzeit ersetzen.


----------



## faetzminator (7. Apr 2009)

replaceAll kann regex, das heisst man kann das z.B. so machen:

```
String line = "<FirstDetect>sadf</FirstDetect>";
String sStart = "<FirstDetect>";
String sEnd = "</FirstDetect>";
String newString = "foobar";
line = line.replaceAll(sStart + ".*" + sEnd, sStart + newString + sEnd);
// line beinhaltet nun "<FirstDetect>foobar</FirstDetect>"
```


----------



## mikachu (7. Apr 2009)

Hmm, also wenn es eine xml ist, dann würd ich auch da mit den xml-tools drauf zugreifen und die das ersetzen lassen.


----------



## faetzminator (7. Apr 2009)

mikachu hat gesagt.:


> Hmm, also wenn es eine xml ist, dann würd ich auch da mit den xml-tools drauf zugreifen und die das ersetzen lassen.


Er will aber nicht auf uns hören und unbedingt mit Strings arbeiten


----------



## mikachu (7. Apr 2009)

Immer diese Ignoranz den hoch-performanten Tools gegenüber ;-)


----------



## faetzminator (7. Apr 2009)

Performance ist eines, aber unschöner Stil ist weitaus schlimmer


----------



## mikachu (7. Apr 2009)

Da liegt ja der Hase begraben: Performance ist objektiv... "unschöner Stil" ist subjektiv ^^


----------



## Ebenius (7. Apr 2009)

mikachu hat gesagt.:


> Da liegt ja der Hase begraben: Performance ist objektiv... "unschöner Stil" ist subjektiv ^^


Diese Aussage ... find ich relativ schnell absolut unschön.

SCNR


----------

