# Zeichen in String einfügen



## KappRa (20. September 2005)

Gibt es eine Funktion, die mir ein Zeichen, z.B. einen Punkt ('.') an eine beliebige Stelle eines Strings einsetzen lässt?


----------



## con-f-use (20. September 2005)

Schonmal was von Dokumentationen gehört? Da kann man drin nachschauen, für was es schon Funktionen gib, Herrgott! Wie wäre es bei den String-Funktionen in SELFHTML nachzuschauen anstatt hier zu posten? Du verschwendest mit solchen Fragen nur deine und unsere Zeit.

 Aber um auf die Frage zu Antworten:
 Aus substr() oder replace() ließe sich auf jeden Fall etwas basteln.


----------



## hela (20. September 2005)

Hallo KappRa,

 wie der Verweis von con-f-use zeigt, bietet das String-Objekt schon einige Methoden an, allerdings keine, mit der du unmittelbar an einer bestimmten Stelle eines Strings ein neues Zeichen einfügen kannst. Das lässt sich aber beispielsweise mit der Methode *substr()* realisieren. Der abgewandelte Scriptteil des SelfHTML-Beispiels zur Methode substr() würde dann so aussehen:
	
	
	



```
<script type="text/javascript">
      var begriff = "Donaudampfschifffahrt";
      var einfZeichen = "-";
      var einfPos = 16;
      var teil1 = begriff.substr(0, einfPos);
      var teil2 = begriff.substr(einfPos, begriff.length - einfPos);
      alert(teil1 + einfZeichen + teil2);
    </script>
```


----------



## con-f-use (20. September 2005)

Kleiner Fehler in deinem Script: Diese Zeile: 
   var teil2 = begriff.substr(einfPos, begriff.length - einfPos);
   müsste so lauten: 
 var teil2 = begriff.substr(einfPos, begriff.length);

  Aber eine bessere Lösung als die von hela ist es natürlich, wenn man das String-Objekt einfach um die Funktion insert() erweitert. Das geht so:
	
	
	



```
<script type="text/javascript"><!--
  String.prototype.insert = new Function('intPos','strIns','return this.substring(0,intPos) + strIns + this.substring(intPos,this.length);');
  //--></script>
```
 dann kann man nämlich mit einem einfachen Aufruf etwas einfügen und braucht statt vier Variablen nur eine: 
	
	
	



```
<script type="text/javascript"><!--
        	var ich = "Ich bin ein Berliner";
        	alert(ich.insert(7,'BLA'));
  //--></script>
```
 Besonders praktisch, wenn man mehrere solcher Aufrufe machen muss. Ich wollte nur eigentlich mit meinem letzten Post bewirken, dass du in Zukunft selber denkst, nachdem du zu faul warst in eine Doku zu schauen - darum hab ich die Methode nicht gleich geschrieben. Aber der gute hela hat da ja meine Pläne durchkreuzt


----------



## hela (20. September 2005)

Hallo con-f-use,

m.E. kein Fehler, so wie du es formuliert hast geht es aber auch.


----------

