One way is to use a string splitter like the DelimitedSplit8K function from http://www.sqlservercentral.com/articles/Tally+Table/72993/ . If all you want is the 3rd value then below is an example of how you would accomplish it.
CREATE TABLE #TableA (ID Int, DelimitedString Varchar(100));
INSERT #TableA(ID, DelimitedString)VALUES(1, 'AAAA_BBBBUSEmail000000001_1234567_Normal_ABC_US'), (2, 'ZZZZ_YYYYUSEmail000000002_9876543_Abnormal_XYZ_US');
SELECT
a.ID,
split.Item AS ThirdValue
FROM
#TableA a
CROSS APPLY
master.dbo.DelimitedSplit8K(a.DelimitedString, '_') split
WHERE
split.ItemNumber = 3
DROP TABLE #TableA;
Returns
ID ThirdValue
-- ----------
1 1234567
2 9876543
If you would want more values from the string then this method can be coupled with PIVOT, assuming that there is a static number of values, to turn the list of values into columns for easy use. Here is an example using PIVOT as well.
CREATE TABLE #TableA (ID Int, DelimitedString Varchar(100));
INSERT
#TableA(ID, DelimitedString)
VALUES
(1, 'AAAA_BBBBUSEmail000000001_1234567_Normal_ABC_US'),
(2, 'ZZZZ_YYYYUSEmail000000002_9876543_Abnormal_XYZ_US');
SELECT
pvt.ID,
pvt.[1] AS FirstValue,
pvt.[2] AS SecondValue,
pvt.[3] AS ThirdValue,
pvt.[4] AS FourthValue,
pvt.[5] AS FifthValue,
pvt.[6] AS SixthValue
FROM
(
SELECT
a.ID,
a.DelimitedString,
split.ItemNumber,
split.Item
FROM
#TableA a
CROSS APPLY master.dbo.DelimitedSplit8K(a.DelimitedString, '_') split
) list
PIVOT(MAX(Item)
FOR ItemNumber IN([1], [2], [3], [4], [5], [6])
) pvt;
DROP TABLE #TableA;
Returns
ID FirstValue SecondValue ThirdValue FourthValue FifthValue SixthValue
-- ---------- -------------------- ---------- ----------- ---------- ----------
1 AAAA BBBBUSEmail000000001 1234567 Normal ABC US
2 ZZZZ YYYYUSEmail000000002 9876543 Abnormal XYZ US