Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All
I want to find all the email address present in each and every single line.
This is what i need:
Is there any way around for such requirement.
I have tried Index(), Textbetween() and Findoneof() functions but no Luck.
I have attached the Sample Data Source.
Regards
Eric
The idea is :
1) look for the position of @ sympol (use index() function)
2) find the last space before and the first after @ (you can use substringcount to count number of spaces before @ symbol then with the function Findoneof you can find the position of the last space)
3) With mid function extract the string
Let me know ...
Hello Eric,
you can use this to identify the rows with an Email Address.
wildmatch( [Column_Name], '*@*.*') as FLAG_EMAIL
but ist very hard to get the E-Mail out of this string with internal Qlik functions. (even when there are multiple Emails in one row)
i would recommend to look for another tool/way to achieve this.
I'm pretty sure gabrielking123@5@gmail.com is not a valid email address. Perhaps "gabrielking123@5"@gmail.com would be. For this kind of this you really want regular expressions: How to Find or Validate an Email Address
But you can try this:
LOAD
Column_Name,
Part,
Subfield(Trim(Part),' ',1) as Email
WHERE
SubStringCount(Part,'@') and SubStringCount(Part,'.') ;
LOAD
Column_Name,
[Desired Result],
SubField(subfield(Replace(Column_Name,'<-',''),':',-1),'>') as Part
FROM
[Email Address from String - Data Source.xlsx]
(ooxml, embedded labels, table is Sheet1)
;
Thanks Sir
The Code is Running but there are problems in some cases.
I have attached my QVW.
You could remove the troublesome string first: Replace(@1,'>>??@@@SADSSDFSDV', '') as Column_Name
by using the replace function it is implemented
not working.
is there any way using index() or textbetween()
Not working? Show me. It works fine here.
Is there any way which doesn't includes Hard Coding.