Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ta bort mellanslag i en sträng.

Postades av 2002-11-21 11:13:39 - Samuel Ericson, i forum java, Tråden har 5 Kommentarer och lästs av 2580 personer

Hur gör man det enklast? Jag vill t.ex. (1 + 1) ska skrivas (1+1).


Svara

Sv: Ta bort mellanslag i en sträng.

Postades av 2002-11-21 12:25:54 - Emma Magnusson

Titta i klassen string, det finns en metod - som jag tyvärr inte minns vad den heter...
Den ersätter iaf ett tecken med ett annat och fungerar som VB:s replace(,,)

/Emma


Svara

Sv: Ta bort mellanslag i en sträng.

Postades av 2002-11-21 12:32:00 - Andreas Eriksson

Tjena!

Med replace-metoden i klassen String kan man inte ersätta ett mellanslag med ett tomt tecken.
Prova att plocka bort det manuellt istället mha en StringTokenizer i java.util.

/Andreas


Svara

Sv: Ta bort mellanslag i en sträng.

Postades av 2002-11-21 13:33:16 - Klas Axell

Att använda en StringTokenizer är inte särskilt minneseffektivt. Ett bättre sätt är att skriva en funktion som antingen jobbar med en array eller en StringBuffer. StringBuffer kan vara enklare att använda men vid längre strängar så tjänar man lite prestanda på att använda en array. Jag föreslår att du testar följande:

<code>
public static void removeChar (String sOrig, char cRemove) {
if (sOrig == null) return(null);

int iOrigLen = sOrig.length();
char[] tempArray = new char[iOrigLen];

int j = 0;
char currChar;
for (int i = 0; i < iOrigLen; i++) {
currChar = sOrig.charAt(i);
if (currChar != chRemove) {
tempArray[j] = currChar;
j++;
}
}

// There was nothing to replace, might as well return the
// original string.
if (i == j) return(sOrig);

// Create a new string from the array.
return(new String(tempArray, 0, j));
}

</code>

/Klas


Svara

Sv: Ta bort mellanslag i en sträng.

Postades av 2002-11-22 00:26:04 - Andreas Eriksson

Hej igen,

Visst är det som Klas säger att arrayer är snabba och effektiva... men din kod är felaktig... :-(

Prova följande istället, för skillnaden i prestanda är knappast märkbar:

<code>
public static String removeText(String text, String criteria) {
StringTokenizer st = new StringTokenizer(text, criteria);
String result = "";

while (st.hasMoreTokens()) {
result += (String) st.nextElement();
}
return result;
}
</code>

Mvh, Andreas





Svara

Sv: Ta bort mellanslag i en sträng.

Postades av 2002-11-22 15:47:14 - Klas Axell

Oj, det gick nog lite fort när jag skrev ihop den lilla kodsnurran, tack för att du uppmärksammade det Andreas. Här kommer en version som fungerar. Andreas säger att skillnaden knappt är märkbar mellan att använda en StringTokenizer och en array eller StringBuffer. Men jag skulle vilja säga att skillnanden är enorm i sättet hur minnesresurser används. Andreas, se följande länk för en bra referens http://developer.java.sun.com/developer/JDCTechTips/2002/tt0305.html

<code>
public String removeWhiteSpaces(String in_sText) {
char[] buf = in_sText.toCharArray();
int index = 0;
while (index < buf.length && !Character.isWhitespace(buf[index]))
++index;
if (index < buf.length) {
int i = index + 1;
while (i < buf.length) {
if (!Character.isWhitespace(buf[i])) {
buf[index] = buf[i];
++index;
}
++i;
}
}
return new String(buf, 0, index);
}
</code>


Svara

Nyligen

  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 845
27 961
271 763
601
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies