2012-02-29 10 views
0

変数があるとしましょう:varEmail。VB.NETで文字列の部分を削除する

さて、私はの一部だけを取得したいと言うことができます「[email protected]

を:それはのような値が含まれている場合がありますので、それは、ユーザーの電子メールアドレスに等しい変数が含まれています電子メールアドレス、例えばそのように、ドメインを剥ぎ取る:

私は文字列操作とVB.NETでこれを達成することができますどのように "myemail"

を?私は多分それは早朝にちょうどある...これは単純である必要があります知っている...

+2

驚い誰もまだ空の文字列と正規表現置き換え '@を* $'を言及していません。! – Blindy

答えて

4

最初のものは電子メール名です。 2番目にドメイン名が与えられます。ここで

dim varEmail as string="[email protected]" 
MsgBox(varEmail.Substring(0, varEmail.IndexOf("@"))) 
MsgBox(varEmail.Substring(varEmail.IndexOf("@") + 1)) 
4

あなたは常に有効な電子メールアドレスを扱っている知っている場合は、最も簡単な方法はように次のようになります。

varEmail = varEmail.Split("@"c)(0) 
0

はあなたの問題の解決策です:

Dim value, result as string 

    value="[email protected]" 
     result = value.Substring(0, value.IndexOf('@')+1) 

私は、これはあなたを助けることを願っています。

それの楽しみのために
+0

VB.NETでこのコードをコンパイルしようとしましたか? –

+0

いいえ...私は...私はC#プログラマーです。私はちょうどコードを書いてVB.NETに基づいて修正しました – Sankalp

+0

あなたが* VB.NETで動作するように*変更していない事実から離れて - それは修正後でさえ、OPによって要求されたように間違った結果をもたらします。 VB.NETに精通していないC#プログラマーなら、おそらくC#でタグ付けされた質問に固執するのが最善です。これを試してください: 'result = value.Substring(0、value.IndexOf(" @ "))' –

2

、まだここ.NETで動作します(とマットの答えのように、これはあなたが、これは有効なEメールアドレスを知っていると仮定し)より古い学校のアプローチがある...

strResult = Mid(varEmail, 1, (InStr(varEmail, "@") - 1)) 
あなたは、有効な電子メールを持っていることを確認していない場合は

トライキャッチでこれを行う...

Dim objMail As New System.Net.Mail.MailAddress(varEmail) 
strResult = objMail.User 
1

あなたはスプリットを使用することができます(電子メールが有効でない場合には、例外がスローされます)方法。たとえば、次のように

Dim MyString As String = "[email protected]" 
Dim MyString2() As String 
Dim MyString3 As String 

MyString2 = Split(MyString, "@", -1, CompareMethod.Binary) 
MyString3 = MyString2(0) 

今MyString3 = myemail