IBM FileNet P8, Version 5.2.1            

Strengfunksjoner

Denne delen inneholder korte beskrivelser av funksjonene som gjelder for strengverdier.

Tabell 1. Tabell over funksjoner og deres formål
Funksjon Hva den gjør
convert Konverterer en streng til en annen datatype eller konverterer en annen datatype til en streng.
decode Konverterer et kodet strenguttrykk tilbake til den opprinnelige strengen.
encode Konverterer et strenguttrykk til en meningsløs tekststreng.
hex Oversetter en strenglitteral som inneholder heksadesimale tegnkoder, til en ASCII-streng.
in_set Returnerer den boolske verdien sann hvis én streng bare består av tegn fra en annen streng.
is_number Returnerer den boolske verdien sann hvis et strenguttrykk resulterer i en flytetalls- eller heltallsverdi.
is_time Returnerer den boolske verdien sann hvis et strenguttrykk resulterer i en gyldig tidsverdi.
len Returnerer lengden på en streng.

lower

upper

Endret tegnene i strengen til store eller små bokstaver.

ltrim

rtrim

trim

Sletter tomme eller oppgitte tegn fra starten (ltrim), slutten (rtrim) eller begge ender (trim) av en streng.
max Returnerer den største verdien fra en liste over uttrykk for en hvilken som helst datatype som støttes.
min Returnerer den minste verdien fra en liste over uttrykk for en hvilken som helst datatype som støttes.
numbertostring Konverterer et flytetalls- eller heltallsuttrykk til et strenguttrykk ved hjelp av en oppgitt maske.
repeat Oppretter en streng ved å gjenta en annen streng et oppgitt antall ganger.
strins Setter inn én streng i en annen streng på et oppgitt sted.
strloc Returnerer startposisjonen til en delstreng i en streng. Hvis delstrengen ikke blir funnet, returnerer funksjonen null.
stringtotime Konverterer et strenguttrykk til et tidsuttrykk ved hjelp av en oppgitt maske.
substitute Erstatter en delstreng med en annen i en streng.
substr Returnerer en delstreng med en oppgitt startposisjon og -lengde.
timetostring Konverterer et tidsuttrykk til et strenguttrykk ved hjelp av en oppgitt maske.
translate Erstatter tegn i en streng.
xmlencode Konverterer et XML-felt til et strenguttrykk.
xmldecode Konverterer et strenguttrykk til XML.

hex

Denne funksjonen oversetter en strenglitteral med heksadesimale tegnkoder til en ASCII-streng. Hex-funksjonen kan uttrykke et hvilket som helst tegn, selv om du vanligvis bruker den for tegn som ikke har ASCII-representasjoner, for eksempel tabulatortegn.

Annethvert hex-siffer representerer ett tegn i resultatstrengen. Ulikt antall hex-tegn i strenglitteralen fører til en feil. Bruk følgende syntaks:
hex (hex_codes)
der hex_codes er en strenglitteral som inneholder hex-koden for et tegn eller en serie med tegn.
Følgende eksempel returnerer strengen abc fordi 61, 62 og 63 er de heksadesimale kodene for disse tegnene.
hex ("616263")

translate

Denne funksjonen oppretter en ny streng ved å erstatte tegnene i én streng med tegnene du oppgir. Funksjonen translate er nyttig for å kode tegn.

Bruk følgende syntaks:
translate (source_string, search_string,
replace_string)
der:
Tabell 2. Parametere og beskrivelse for translate-funksjonen
Parameter Beskrivelse
source_string Strengen som inneholder tegnene som skal erstattes.
search_string Strengen med tegn i source_string som skal erstattes. Må ha samme lengde som replace_string.
replace_string Strengen med erstatningstegn. Må ha samme lengde som search_string.

Søk og erstatt skjer per tegn. Hvis søkestrengen er "abc" og erstatningsstrengen er "def", oversetter funksjonen "a" til "d", "b" til "e" og "c" til "f" i den nyopprettede strengen.

Med for eksempel de følgende verdiene:
source_string inneholder "*123-#44-!999"
search_string inneholder "#*!-"
replace_string inneholder "XYZ&"
viser funksjonen følgende nye streng:
Y123&X44&Z999

Legg merke til at innholdet i kildestrengen, søkestrengen og erstatningsstrengen ikke endres.

Tips: Hvis du vil søke etter og erstatte en hel delstreng i stedet for individuelle tegn, bruker du funksjonen substitute.
Følgende eksempel bruker funksjonen translate til å konvertere en streng fra europeisk tallformat til et amerikansk tallformat.
translate (str, ".,", ",.")

lower, upper

Disse funksjonene konverterer alle tegnene i en streng til henholdsvis små eller store bokstaver. Bruk følgende syntaks:
lower (string_exp)

upper (string_exp)
der string_exp er strenguttrykket som skal konverteres.

in_set

Denne funksjonen sammenligner to strenger, og returnerer den boolske verdien sann hvis hvert tegn i den første strengen finnes et sted i den andre strengen. Hvis den første strengen inneholder minst ett tegn som heller ikke finnes i den andre strengen, returnerer funksjonen verdien usann. Tegnene trenger ikke å vises i samme rekkefølge i begge strengene. I tillegg kan den andre strengen inneholde flere tegn.

Bruk følgende syntaks:
in_set (subset_string, superset_string)
der:
Tabell 3. Parametere og beskrivelse for in_set-funksjonen
Parameter Beskrivelse
subset_string Strenguttrykket inneholder bare delsettegnene.
superset_string Strenguttrykket som subset_string sammenlignes med.
I følgende eksempel
in_set (navn, "abcdefghijklmnopqrstuvwxyz")
funksjonen returnerer sann (true) hvis
navnet = "jim",
men usann (false) hvis
navnet = "Fido"
eller
navnet = "a.b"

len

Denne funksjonen beregner den faktiske (ikke den deklarerte) lengden på et strenguttrykk. Den gir totalt antall tegn i uttrykket, inkludert mellomrom. Bruk følgende syntaks:
len (string_expr)
der string_expr er et strenguttrykk der lengden skal beregnes.
I følgende eksempel er den returnerte lengden 15. Legg merke til at de omsluttende anførselstegnene ikke telles som tegn.
len ("Hamilton Burger")

repeat

Denne funksjonen oppretter en streng ved å gjenta en annen streng et oppgitt antall ganger. Bruk følgende syntaks:
repeat (string_expr, repeat_num)
der:
Tabell 4. Parametere og beskrivelse for repeat-funksjonen
Parameter Beskrivelse
string_expr Strenguttrykket som skal gjentas.
repeat_num Antallet ganger string_exp skal gjentas.
Følgende eksempel viser strengen abcdabcdabcdabcdabcd.
repeat ("abcd", 5)

strloc

En delstreng er en del av en kildestreng. Den kan være mindre enn eller lik lengden på kildestrengen. For eksempel er God, mor, od morge og God morge delstrenger av God morgen.

Bruk funksjonen strloc for å finne hvor en bestemt delstreng finner sted i en kildestreng. Denne funksjonen returnerer starttegnposisjonen til delstrengen i kildestrengen.

Hvis delstrengen finnes i kildestrengen mer enn én gang, returnerer funksjonen startposisjonen til den første forekomsten. Hvis delstrengen ikke blir funnet, eller hvis delstrengen er lengre enn kildestrengen, returnerer funksjonen null.

Bruk følgende syntaks:
strloc (source_string, sub_string)
der:
Tabell 5. Parametere og beskrivelse for strloc-funksjonen
Parameter Beskrivelse
source_string Strengen der det skal søkes etter delstrengen.
sub_string Strengen det skal søkes etter.
Dette eksemplet returnerer verdien 6, fordi delstrengen starter i posisjon 6 i kildestrengen.
strloc ("God morgen", "morgen")

substr

Denne funksjonen trekker ut en delstreng fra en kildestreng, og oppretter dermed en ny streng. Du oppgir kildestrengen og tegnposisjonen der uttrekkingen starter. I tillegg kan du eventuelt angi antallet tegn som skal trekkes ut. Hvis du ikke angir denne informasjonen, slutter uttrekkingen på slutten av kildestrengen.

Bruk følgende syntaks:
substr (source_string, start_pos {, length})
der:
Tabell 6. Parametere og beskrivelse for substr-funksjonen
Parameter Beskrivelse
source_string Kildestrengen.
start_pos Tegnposisjonen der uttrekkingen starter.
length Antallet tegn som skal trekkes ut (for eksempel lengde på strengen som er trukket ut).
Følgende eksempel returnerer strengen morgen. Legg merke til at de omsluttende anførselstegnene ikke teller som del av strengen.
substr ("God morgen!", 6, 7)

Denne funksjonen kan også trekke ut strenger med lengde på null (strenger uten tegn mellom anførselstegnene) i en posisjon på én mer enn lengden på en streng. Denne bruken er nyttig for algoritmer som har strenger med lengde på null, som en kantbetingelse. Du kan trekke ut tegn fra posisjon 1 til og med det siste tegnet i strengen +1. Det vil si at posisjon 1 og lengden på strengen +1 er kantbetingelser.

Det oppstår kjøretidsfeil hvis:

  • Startposisjonen er mindre enn 1 eller større enn lengden på kildestrengen + 1.
  • Den oppgitte lengden vil gi en delstreng som er lengre enn de gjenstående tegnene i kildestrengen (det vil si start_pos + length > len (source_string) + 1).

strins

Denne funksjonen setter inn én streng i en annen streng, og oppretter dermed en ny streng. Verdiene til kildestrengen og innsettingsstrengen endres ikke. Bruk følgende syntaks:
strins (source_string, insert_string, start_pos)
der:
Tabell 7. Parametere og beskrivelse for strins-funksjonen
Parameter Beskrivelse
source_string Strengen som skal slås sammen med insert_string for å lage en ny streng.
insert_string Strengen som skal slås sammen med source_string for å lage en ny streng.
start_pos

Posisjonen i source_string der innsettingen starter. Verdiene er fra 1 til lengden på source_string + 1.

Det oppstår en kjøretidsfeil hvis du oppgir en verdi som er mindre enn 1 eller større enn source_string + 1.

I eksempelet nedenfor vises
insert_str = "Mr. Jones"
og
source_str = "God morgen, for en vakker dag.
strins (source_str, insert_str, 15)
Med verdiene som er oppgitt ovenfor, returnerer funksjonen følgende streng:
God morgen Hr. Jensen, for en vakker dag.

substitute

Denne funksjonen oppretter en ny streng ved å erstatte én delstreng med en annen i en oppgitt kildestreng. Bruk følgende syntaks:
substitute (source_string, unwanted_string,
replacement_string)
der:
Tabell 8. Parametere og beskrivelse for substitute-funksjonen
Parameter Beskrivelse
source_string Strengen som inneholder unwanted_string.
unwanted_string En delstreng av source_string.
replacement_string Strengen som skal erstatte unwanted_string for å opprette en ny streng.
I følgende eksempel erstattes hver forekomst av abc i TestString av wxyz. Erstatningen skjer fra venstre mot høyre.
substitute (TestString, "abc", "wxyz")
Hvis
TestString = "abcdabcd",
returnerer funksjonen følgende nye streng:
wxyzdwxyzd
Legg merke til at innholdet i kildestrengen, den uønskede strengen og erstatningsstrengen ikke endres.
Tips: Hvis du vil søke etter og erstatte individuelle tegn i stedet for en delstreng, bruker du funksjonen translate.

ltrim, rtrim og trim

Disse funksjonene oppretter en ny streng ved å kopiere en eksisterende kildestreng og slette tomme tegn eller oppgitte tegn fra starten (ltrim), slutten (rtrim) eller begge ender (trim) i den nye strengen. I alle tilfeller forblir kildestrengen uendret.

Bruk følgende syntaks for alle tre funksjoner:
ltrim (string_expr{, trim_char}opt)

rtrim (string_expr{, trim_char}opt)

trim (string_expr{, trim_char}opt)
der:
Tabell 9. Parametere og beskrivelse for trim-, ltrim- og rtrim-funksjonen
Parameter Beskrivelse
string_expr Kildestrenguttrykket som skal kopieres.
trim_char

En valgfri parameter som oppgir tegnene som skal slettes fra den nye strengen. Hvis du ikke oppgir denne parameteren, slettes tomme tegn.

Avhengig av funksjonen starter slettingen enten på begynnelsen, slutten eller på begge ender av den nye strengen, og fortsetter til det blir funnet et tegn som ikke er oppgitt i trim_char (eller ikke er tomt).

Følgende eksempel sletter alle foranstilte tomme tegn fra LastName. I eksempelet er
LastName = "Smith",
og den returnerte nye strengen e
"Smith"
ltrim (LastName)
Eksemplet nedenfor sletter &-tegnet fra slutten av strengen kalt Status. Hvis
Status = "OpenXY&Z&&&&",
er den returnerte nye strengen
"OpenXY&Z"
rtrim (Status, "&")
Følgende eksempel sletter alle etterfølgende sifre fra AccountName.
rtrim (AccountName, "0123456789")

is_number

Denne funksjonen fastslår om det oppgitte strenguttrykket resulterer i en flytetalls- eller heltallsverdi. Funksjonen is_number returnerer den boolske verdien sann hvis hele strengen (ikke bare en delstreng) resulterer i en flytetalls- eller heltallsverdi og ellers usann.

Bruk følgende syntaks:
is_number (expr)
der expr er et strenguttrykk.
Følgende tre eksempler returnerer henholdsvis sann, usann og usann.
is_number ("123.4")

is_number ("no")

is_number ("abc63j")

is_time

Denne funksjonen fastslår om det oppgitte strenguttrykket resulterer i en tidsverdi i et oppgitt format. is_time-funksjonen returnerer den boolske verdien sann hvis hele strengen (ikke bare en delstreng) resulterer i en tid som er formatert som angitt. Ellers returnerer funksjonen verdien false.

Bruk følgende syntaks:
is_time (str_expr, date_time_mask)
der:
Tabell 10. Parametere og beskrivelse for is_time-funksjonen
Parameter Beskrivelse
str_expr Et strenguttrykk.
date_time_mask En dato-/tidsmaske som oppgir formatet som str_expr må bruke for at is_time kan returnere verdien sann.
I de følgende eksemplene returnerer det første eksemplet usann, og det andre eksemplet returnerer sann. I begge eksempler brukes konverteringsfunksjonen til å konvertere strenguttrykkene til tidsdatatypen, slik at funksjonen is_time kan evalueres.
is_time ("nov121995", "mm/dd/yyyy")

is_time ("11/12/1995", "mm/dd/yyyy")

timetostring

Denne funksjonen konverterer et tidsuttrykk til et strenguttrykk ved hjelp av formatet du oppgir. Bruk følgende syntaks:
timetostring (time_expr, date_time_mask)
der:
Tabell 11. Parametere og beskrivelse for timetostring-funksjonen
Parameter Beskrivelse
time_expr Et uttrykk av typen tid.
date_time_mask En dato-/tidsmaske som fastslår formatet til utdataene for funksjonen timetostring.
Følgende eksempel konverterer systemtiden til en streng. Strengen formateres ved hjelp av den oppgitte dato-/tidsmasken.
timetostring (systemtime(), "mm/dd/yyyy hh:tt:ss am")
I eksemplet ovenfor er strengutdataene som følger hvis systemtime() er lik 1. juli 1985, 6 sekunder etter 12:45:
01.07.1985 12:45:06

Se informasjon om funksjonen systemtime().

stringtotime

Denne funksjonen konverterer strenger til tidspunkter ved hjelp av formatet du oppgir. Bruk følgende syntaks:
stringtotime (string_expr, date_time_mask)
der:
Tabell 12. Parametere og beskrivelse for stringtotime-funksjonen
Parameter Beskrivelse
string_expr Et uttrykk av typen streng.
date_time_mask En dato-/tidsmaske som oppgir tidsformatet som skal brukes for konverteringen.
I følgende eksempel er HostTime en strengvariabel.
stringtotime (HostTime, "mon. dd, yyyy hh:tt:ss am")
Hvis
HostTime = "1. juli 1985 12:45:06",
vil de resulterende utdataene være tidsverdien lik 1. juli 1985, 6 sekunder etter 12:45.

encode, decode

Disse funksjonene konverterer strenger til meningsløse strenger for å skjule innholdet. Både encode og decode må være i samme arbeidsflyt.

Funksjonen decode kan brukes til å konvertere et strenguttrykk som inneholder flere kodede strenger.
encode (string_expr)

decode (string_expr)
der:
Tabell 13. Parametere og beskrivelse for decode- og encode-funksjonen
Parameter Beskrivelse
string_expr Et uttrykk av typen streng. Strengen kan ikke være en litteral.


Last updated: March 2016
bpfe012.htm

© Copyright IBM Corp. 2016.