[Risolto] Stringhe identiche solo in parte

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

[Risolto] Stringhe identiche solo in parte

Messaggio da giuserpe »

Ciao,
date due stringhe coincidenti in parte, è possibile capire qual è la parte coincidente via Basic?

Esempio:
str1 = "Oggi è bel tempo"
str2 = "Oggi è cattivo tempo"

Il risultato sarebbe "Oggi è ".
Ultima modifica di giuserpe il martedì 5 settembre 2017, 11:35, modificato 2 volte in totale.
LibreOffice fresh su Windows e Linux
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Stringhe identiche solo in parte

Messaggio da Gaetanopr »

pure tempo è comune ad entrambe le stringhe
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Stringhe identiche solo in parte

Messaggio da unlucky83 »

La prima cosa che mi viene in mente è usare la funzione "split" su str1 e ricavarmi così un array di stringhe, poi in un ciclo for conrollo quali elementi dell'array sono presenti in str2 usando la funzione "instr"
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: Stringhe identiche solo in parte

Messaggio da giuserpe »

Ho pensato anche io ad un confronto tra array, poi però ho risolto così:

Codice: Seleziona tutto

Sub stringa_comune
str1 = "Oggi è bel tempo"
str2 = "Oggi è cattivo tempo"
	If str1 > str2 Then
		lung_str = len (str1)
		Else
		lung_str = len (str2)
	EndIf
	For i= 1 To lung_str
		test1 = mid (str1, i, 1)
		test2 = mid (str2, i, 1)
		If test1 <> test2 Then Exit For
	Next
	Print left (str1, i-1)
End Sub
Se credete che ci sia di meglio (e non ho dubbi in merito) fatemi sapere.
Ultima modifica di giuserpe il giovedì 20 novembre 2014, 16:44, modificato 1 volta in totale.
LibreOffice fresh su Windows e Linux
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto] Stringhe identiche solo in parte

Messaggio da giuserpe »

Volevo precisare che mi serve un confronto tra stinga e stringa dal primo carattere in poi e fino al primo carattere diverso.
Devo mettere in ordine un elenco di descrizioni.
LibreOffice fresh su Windows e Linux
Rispondi