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


splitta sträng

Postades av 2007-02-03 21:12:10 - Simon Dahlbacka, i forum regular expressions, Tråden har 3 Kommentarer och lästs av 1419 personer

Har en "datablob" med information som jag vill splitta upp i lämpliga bitar och mata in i en databas
problemet gäller att fälten är kommaseparerade, men vissa fält kan innehålla kommatecken, dock i så fall så att hela fältet finns innanför singlequotes..

Kan man göra detta någotsånär smidigt med regexps eller borde jag genast ta fram storsläggan och hitta en riktig parser, alternativt själv gå igenom grejen tecken för tecken och splitta?

suggestions?

Vill alltså splitta på kommatecken som inte är omslutna av singlequotes

ex. följande exempel ska bli till 5 fält

2, 'bar', 'blarg, zoo', 1, 'hmm\'s foo'


Svara

Sv: splitta sträng

Postades av 2007-02-04 02:32:20 - Martin Adrian

Någon sa: Om du har ett problem och tänker lösa det med regexp så har du 2 problem.

Följande regexp fungerar
(?:^|,)\s*((?:[^',])*|'(?:[^']|\\')*')\s*(?=,|$)

men du måste ändå:
- använda sub-expression 1
- ta bort inledande och avslutande ' respektive avslutande blanka
- ta bort \' inne i texten

Förklaring till regexp:en
(?:^|,) xxx (?=,|$) Matcha det som står mellan kommatecken eller i början eller slutet

xxx ovan kan antingen vara
'text' där text kan innehålla allt utom ' som inte föregås av \ dvs [^']|\\'
eller vad som helst som inte innehåller kommatecken eller ' dvs [^',]


Svara

Sv:splitta sträng

Postades av 2007-02-04 10:30:27 - Simon Dahlbacka

<b>Någon sa: Om du har ett problem och tänker lösa det med regexp så har du 2 problem.</b>
heh ..alltför ofta ser man folk som vill använda regexps till fel saker.. detta är antagligen också ett sånt..

<b>(?:^|,)\s*((?:[^',])*|'(?:[^']|\\')*')\s*(?=,|$)</b>
tja.. det där ser inte direkt "någotsånär smidigt" ut, snarare som en harang med svordomar i nån serietidning :)

..tror att jag ändå själv går igenom tecken för tecken, (för att kunna underhålla programmet sen..)

men tack för svaret!


Svara

Sv: splitta sträng

Postades av 2007-02-04 15:13:35 - Martin Adrian

Kan rekommendera följande regex verktyg
http://www.ultrapico.com/Expresso.htm

Bland annat så omvandlar det regex uttryck till en trädstruktur vilket gör det hysat enkelt att förstå vad som händer.

En bra regextutorial följer med också.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 153
27 952
271 704
2 031
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