Vervangen van een enkel teken in Excel

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Arjan-901
  • Registratie: December 2012
  • Laatst online: 15-11-2023
Hallo,

Ik heb een giga excel bestand waarin ik in een hele kolom met cellen helaas 1 / moet vervangen door een -.

Nu ziet 1 cel er als volgt uit:
"heel stuk code met daartussen file/dog/willekeuriggetal/afbeelding.png daarachter nog meer code"

Nu moet de / tussen het willekeurige getal en afbeelding.png vervangen worden door een -.

Maar hoe krijg ik dat voor elkaar :(
Simpel zoek en vervang kan ik wel zoeken op file/dog/willekeuriggetal/ waar ik willekeuriggetal vervang door een *, maar als ik dan de laatste slash wil vervangen dan veranderd het willekeurigegetal in een sterretje en dat mag natuurlijk niet.

Wie weet hoe?

Acties:
  • 0 Henk 'm!

  • mkroes
  • Registratie: Oktober 2010
  • Laatst online: 16-06 16:01
Ik zou de bewuste cel geheel opsplitsen dmv 'tekst naar kolommen' en daarna met de juiste scheidingstekens weer bij elkaar plakken (=A1&/&B1&/&C1&-&D1).

Acties:
  • 0 Henk 'm!

  • Pendora
  • Registratie: Juni 2002
  • Laatst online: 06:46
Als de naam altijd "afbeelding" is kan je zoeken en vervangen op /afbeelding naar -afbeelding.
Als dat niet zo is kolom omzetten naar tekst en dan bij scheidingsteken Overig kiezen met / als scheiding.

Wat mkroes ook al zegt.

[ Voor 6% gewijzigd door Pendora op 28-06-2016 12:24 ]


Acties:
  • 0 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Laatst online: 00:00
http://www.mrexcel.com/fo...ccurence-char-string.html

Spatie even vervangen door een '/'

Acties:
  • 0 Henk 'm!

  • Arjan-901
  • Registratie: December 2012
  • Laatst online: 15-11-2023
tekst naar kolommen gaat niet, want de cel met de afbeelding staat dan iedere keer in een andere cel.

Naam van de afbeelding is niet altijd afbeelding, die is altijd anders.

I-King, dat werkt ook niet. Is denk ik voor iets anders bedoeld

Acties:
  • 0 Henk 'm!

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 01-04 17:01
Wat je wil, kan met Regular Expressions.
Helaas ondersteunt Excel niet standaard Regular Expressions, LibreOffice wèl.

Je kan echter wel een VBA-reference toevoegen, zodat je in achterliggende programmacode Regular Expressions kunt gebruiken.
Dit klinkt allemaal erg ingewikkeld, en dat is ook zo: Regular Expressions zijn moeilijk leesbare patronen.

Hier staat precies beschreven hoe je het kan gebruiken:
http://stackoverflow.com/...el-both-in-cell-and-loops

Maar je kan zelf ook even google'n op 'Regular Expressions' en 'Excel'

Houdoe


Acties:
  • +1 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 20:06

Dido

heforshe

Arjan-901 schreef op dinsdag 28 juni 2016 @ 13:22:
I-King, dat werkt ook niet. Is denk ik voor iets anders bedoeld
Wat werkt er dan niet?

Als ik in Excel in cel A1 jouw tekst zet, en in B1 de aangepatse formule van die link:
code:
1
=SUBSTITUEREN(A1;"/";"-";LENGTE(A1)-LENGTE(SUBSTITUEREN(A1;"/";"")))

Dan komt er in die cel het volgende te staan:

heel stuk code met daartussen file/dog/willekeuriggetal-afbeelding.png daarachter nog meer code

Let wel even op dat ik de formule naar het Nederlands heb vertaald. Als je een ENgelstalige Excel gebruikt moet je de originele versie aanpassen. Vervang gewoon op twee plekken de spatie door een slash en je bent er.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • ajakkes
  • Registratie: Maart 2004
  • Laatst online: 16-05 22:32

ajakkes

👑

Dido schreef op dinsdag 28 juni 2016 @ 16:06:
[...]

Wat werkt er dan niet?

Als ik in Excel in cel A1 jouw tekst zet, en in B1 de aangepatse formule van die link:
code:
1
=SUBSTITUEREN(A1;"/";"-";LENGTE(A1)-LENGTE(SUBSTITUEREN(A1;"/";"")))

Dan komt er in die cel het volgende te staan:

heel stuk code met daartussen file/dog/willekeuriggetal-afbeelding.png daarachter nog meer code

Let wel even op dat ik de formule naar het Nederlands heb vertaald. Als je een ENgelstalige Excel gebruikt moet je de originele versie aanpassen. Vervang gewoon op twee plekken de spatie door een slash en je bent er.
Had een soortgelijk probleem en een soortgelijke oplossing destijds. Je moet de formule even snappen, maar hij werkt.

👑


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Hij is mooi :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Arjan-901
  • Registratie: December 2012
  • Laatst online: 15-11-2023
Dido schreef op dinsdag 28 juni 2016 @ 16:06:
[...]

Wat werkt er dan niet?

Als ik in Excel in cel A1 jouw tekst zet, en in B1 de aangepatse formule van die link:
code:
1
=SUBSTITUEREN(A1;"/";"-";LENGTE(A1)-LENGTE(SUBSTITUEREN(A1;"/";"")))

Dan komt er in die cel het volgende te staan:

heel stuk code met daartussen file/dog/willekeuriggetal-afbeelding.png daarachter nog meer code

Let wel even op dat ik de formule naar het Nederlands heb vertaald. Als je een ENgelstalige Excel gebruikt moet je de originele versie aanpassen. Vervang gewoon op twee plekken de spatie door een slash en je bent er.
Dat werkt inderdaad als ik het test. Maar zodra ik het op mijn hele document wil toepassen werkt het niet. Ik zie niet waar het fout gaat, maar misschien dat jij er uit komt. Onderstaand een voorbeeld cel

code:
1
<p><img class="storyImg" alt="" src="/medias/sys_master/8858690289694/boodschappenlijst.jpg" /></p><p>Een nieuw konijn in huis, of misschien wel een nieuwe konijnenvilla! Hoe kun je er voor zorgen dat jouw konijn zich helemaal thuis voelt en wat heb je allemaal nodig voor de inrichting van de konijnenkooi? Lees snel verder voor een makkelijk boodschappenlijstje, met alle producten om je konijnenhok klaar te maken voor de bewoner(s).&nbsp;</p><p><em>Boodschappenlijst:<br />

Acties:
  • 0 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 16-06 17:21

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Die formule vervangt de laatste / in de string. Als de code stukken ook nog / tekens bevat werkt dat inderdaad niet.

Ik ben bang dat er weinig anders op zit dan een tooltje gebruiken waarmee je reguliere expressies kan gebruiken. Hetzij binnen excel, hetzij door gewoon die kolom naar een geavanceerde tekst editor te copy/pasten (notepad++ zou mijn keuze zijn).

Dat, of een hoop gehannes met de tekst functies van excel om dat stukje te vinden waar je de / wilt vervangen.

[ Voor 13% gewijzigd door Orion84 op 28-06-2016 21:58 ]

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • +1 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Mwah, als het standaard om dit soort HTML gaat kun je kijken of het aantal '/' na de URL altijd hetzelfde is. Dan trek je dat aantal er weer gewoon van af.
edit:
Maar als idee van regular expression gebruik:

Plak onderstaande code in een VBA module
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
Function RegReplace(SourceText As String, TextToFind As String, ReplaceWith As String)
    Static regEx As Object
    On Error GoTo nop
    If (regEx Is Nothing) Then Set regEx = CreateObject("vbscript.regexp")

    regEx.pattern = TextToFind
    regEx.IgnoreCase = True

    RegReplace = regEx.replace(SourceText, ReplaceWith)
     Exit Function
nop:
    RegReplace = Err.Description
End Function


Je hebt nu een regular expression functie in je werkblad.

Roep die aan met:
code:
1
=RegReplace(A1;"(\d{4,})/";"$1-")


In gewoon Nederlands: zoek naar een voorkomen van minimaal 4 cijfers, gevolgd door een '/' en vervang dat door dezelfde groep cijfers, gevolgd door een '-'

[ Voor 73% gewijzigd door Lustucru op 28-06-2016 23:34 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 20:06

Dido

heforshe

Arjan-901 schreef op dinsdag 28 juni 2016 @ 21:46:
Dat werkt inderdaad als ik het test. Maar zodra ik het op mijn hele document wil toepassen werkt het niet. Ik zie niet waar het fout gaat, maar misschien dat jij er uit komt. Onderstaand een voorbeeld cel
Je ziet niet dat je oorspronkelijke vraag anders was dan wat je nu post? Het valt meteen op dat er nog veel meer slashes in je cel staan en kennelijk wil je helemaal niet de laatste slash vervangen, maar eentje ergens in het midden waarvan je mag hopen dat je hem op de een of andere generieke manier gaat kunnen herkennen.

Ik denk dat je met Lustucru's suggestie een eind kunt komen in dat geval.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Arjan-901
  • Registratie: December 2012
  • Laatst online: 15-11-2023
Kan het zijn dat die code niet werkt in een Nederlandse Excel?

Niet dat ik veel verstand heb van dat soort codes te gebruiken, maar zodra ik de formule in een cel plak dan krijg ik #NAAM? als output

Acties:
  • 0 Henk 'm!

  • pacificocean
  • Registratie: Mei 2006
  • Laatst online: 16-06 17:37
Arjan-901 schreef op vrijdag 01 juli 2016 @ 12:47:
Kan het zijn dat die code niet werkt in een Nederlandse Excel?

Niet dat ik veel verstand heb van dat soort codes te gebruiken, maar zodra ik de formule in een cel plak dan krijg ik #NAAM? als output
Plakje de functie wel in een VBA module? dus via een macro.

Acties:
  • 0 Henk 'm!

  • Arjan-901
  • Registratie: December 2012
  • Laatst online: 15-11-2023
Jeej het werkt!

Bedankt!

[ Voor 251% gewijzigd door Arjan-901 op 01-07-2016 14:09 ]

Pagina: 1