Att byta mellanslag mot tab

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Att byta mellanslag mot tab

Inlägg av Krille Krokodil »

En summering av syntaxen för Perl regular expressions: http://www.cs.tut.fi/~jkorpela/perl/regexp.html
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47471
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att byta mellanslag mot tab

Inlägg av TomasL »

Bara ett litet problem, jag får en lista ur mitt CAD program där all data är separerad med mellanslag.
Pick and place maskinen får då inget vettigt ur listan, den ska gå att få in i ett kalkylark (Excell)
Du kan ju alltid importera det i Excel, och använda mellanslag som fältseparator, sedan kan du exportera det som tab-separerad lista.
inga konstigheter.
Excel klarar att läsa textfiler med vilken fältseparator som helst.
Finns ingen orsak till att krångla till det med en massa konstiga script mm.
Nerre
Inlägg: 27357
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Att byta mellanslag mot tab

Inlägg av Nerre »

Jo, om det ska automatiseras är det enklare med script.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47471
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att byta mellanslag mot tab

Inlägg av TomasL »

Eftersom det ändå skall in i Excel, så finns det ingen anledning att göra något annat.
Maalobs
Inlägg: 1304
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Att byta mellanslag mot tab

Inlägg av Maalobs »

prototypen skrev:Bara ett litet problem, jag får en lista ur mitt CAD program där all data är separerad med mellanslag.
Pick and place maskinen får då inget vettigt ur listan, den ska gå att få in i ett kalkylark (Excell)
Läser pick-and-place maskinen den tab-separerade filen, eller läser den en Excel-fil?
Jag tolkade det som att maskinen kräver tab-separerad fil för korrekt inläsning, och att Excel i ett nuvarande mellansteg används för manuell redigering innan filen är redo att användas i maskinen.
Användarvisningsbild
prototypen
Inlägg: 11107
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: Att byta mellanslag mot tab

Inlägg av prototypen »

Hur maskinen fungerar vet jag inte, den är inte min och står 6mil bort.
Tillverkaren tar in min fil i Excell och granskar den, där går det att ändra kollumnsepareringen men då jag har mellanslag i mina komponentnamn så kapas dessa och hamnar i olika kolumner. Och resten förskjuts då ett steg så X och Y koordinaterna hamnar lite hur som helst beroende hur många mellanslag jag har i namnet.

Att byta namn går inte då komponenterna monteras in i varje projekt, inte att de hämtas ur biblioteket när man tar fram ett projekt.

För att byta till namn utan mellanslag så får jag i stort sett börja om med en ny layout.

Vad händer om man sätter mellanslag som separator i Excell och det är 10 mellanslag mellan mina dataposter? Hoppar det då 10 kolumner?

Om data vore separerade med tab som väl är det normala så skulle allt vara frid och fröjd
Användarvisningsbild
prototypen
Inlägg: 11107
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: Att byta mellanslag mot tab

Inlägg av prototypen »

Det är så sällan jag håller på med kalkylark men jag tror att mitt kan byta separator, ska kolla i morgon men med många mellanslag så kommer det väl att bli lite konstigt.

Protte
Maalobs
Inlägg: 1304
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Att byta mellanslag mot tab

Inlägg av Maalobs »

Du fick ett par kommandorader tidigare ikväll att välja mellan för att antingen byta ut flera mellanslag i följd till ett tab-tecken, eller att byta ett fast antal mellanslag till ett tab-tecken.
De raderna går att köra direkt i Kommandotolken i OS X, byt ut filnamnen till de riktiga filernas namn bara.
Det är bara oneliners, inga script är nödvändiga för så enkla operationer.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47471
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att byta mellanslag mot tab

Inlägg av TomasL »

Protte, kan du skicka mig en fil?
sodjan
EF Sponsor
Inlägg: 43257
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Att byta mellanslag mot tab

Inlägg av sodjan »

> men då jag har mellanslag i mina komponentnamn så kapas dessa och hamnar i olika kolumner.

Nej nej nej, så fungerar det inte.
Eller ja, så fungerar det *OM* du har mellanslag valt som separator!
Du ska klicka bort *alla* olika separatorer och istället markera fasta positioner.
Du kan självklart inte ha mellanslag som separat eftersom du har mellanslag i själva datat!

> Det är så sällan jag håller på med kalkylark men jag tror att mitt kan byta separator,

Ja, det kan man. Och man kan markera fasta positioner för brytningen istället.
Och det är *DET ENDA* som faktiskt fungerar för att importera din fil i Excel.

Om du hade vetat det du vet nu så hade du så klart sett till att undvika
mellanslag som en del av värderna i kollumnerna. :-)

Retroperra> Fast jag får det att funka så bra

Även med dessa poster ? :

Kod: Markera allt

BAS 32L SOD80                          #73   1785   -6109    ????   \F.BAS 32L SOD80 TOP       
BAS 32L SOD80                          #74   1785   -6809    ????   \F.BAS 32L SOD80 TOP       
BAS 32L SOD80                          #75   1785   -6609    ????   \F.BAS 32L SOD80 TOP       
Notera att ett fält ("LIBRARY") slutar med "...SOD80" och nästa ("SIDE") börjar med "TOP..."
och att det endast är *ett* mellanslag mellan dessa fält. Alltså spricker metoden att
leta efter 2 mellanslag (eller fler) direkt här. Den metoden kommer att betrakta dessa
två fält som ett enda fält...
Användarvisningsbild
swesysmgr
Inlägg: 15100
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: Att byta mellanslag mot tab

Inlägg av swesysmgr »

Om du har tillgång till MS Word kan du enkelt lösa det med den vanliga sök och ersätt funktionen:

Klicka i "Använd mönstermatchning".
Sök efter: {2;}
Ersättmed: ^t

Det skall alltså stå ett blanksteg före måsvinge-2-semikolon-måsvinge

Formeln innebär att Word söker efter två eller fler förekomster av tecknet före måsvingarna (i det här fallet blanksteg) och ersätter det med ett tabtecken (kodat ^t)

Fler exempel på vad man kan söka efter och olika specialtecken finns om du trycker på "Special"-knappen längst ner.
Wordsök.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
sodjan
EF Sponsor
Inlägg: 43257
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Att byta mellanslag mot tab

Inlägg av sodjan »

OK, en gång till... :roll:
Det finns fall där det är *ett* mellanslag mellan fälten.
*Ingen* mönstermatchning fixar det.
Maalobs
Inlägg: 1304
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Att byta mellanslag mot tab

Inlägg av Maalobs »

Det är inget konstigt alls, det är regular expressions.
Du anger ett tecken, därefter en quantifier som gäller för tecknet innan, vilket är ett mellanslag i det här fallet.
Quantifiern {2,} betyder "minst två, max oändligt". Motsvarande syntaxen i just Word verkar vara {2;}.
Det lämnar alla enstaka mellanslag orörda.
Sedan använder du det inuti en substitution till ett enda tab-tecken, då kollapsas alla sekvenser av "2 eller flera mellanslag" till ett tab-tecken.

Här är ett utdrag ur den relevanta regex-dokumentationen som följer med Perl:

Kod: Markera allt

Quantifiers
 The following standard quantifiers are recognized:

     *           Match 0 or more times
     +           Match 1 or more times
     ?           Match 1 or 0 times
     {n}         Match exactly n times
     {n,}        Match at least n times
     {n,m}       Match at least n but not more than m times
Regex borde inte vara nyheter för en oldtimer som du; grep, sed och awk har ju funnits i bagaget hos un*x sedan 70-talet.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47471
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Att byta mellanslag mot tab

Inlägg av TomasL »

Fick en fil av Protte, öppnade den i Excel, ficka allt i snygga kolumner, sparade den (Excel har tab-separerat format som default), och filen är troligen fullt användbar.
Vi får se vad Protte säger när han fått filen.
Att scripta en sån här engångsgrej (ja det är engångsgrej, jag tror knappast Protte genererar så många olika kort, så man inte kan göra det manuellt) är fullständigt meningslöst.
Nerre
Inlägg: 27357
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Att byta mellanslag mot tab

Inlägg av Nerre »

prototypen skrev: Tillverkaren tar in min fil i Excell och granskar den, där går det att ändra kollumnsepareringen men då jag har mellanslag i mina komponentnamn så kapas dessa och hamnar i olika kolumner. Och resten förskjuts då ett steg så X och Y koordinaterna hamnar lite hur som helst beroende hur många mellanslag jag har i namnet.
Då gör tillverkaren fel.
dialog1.JPG
dialog2.JPG
Nu efteråt ser jag att siffrorna i rubriken är teckenposition och längd för fälten, det stämde inte riktigt med testfilen som jag gjorde baserat på det som låg i nåt inlägg tidigare i filen.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar