substr 에서 특정문자를 기준으로 짜르고 싶을때?

kimyh의 이미지

substr로 이메일 주소를 @뒷부분만 나오게 할려는데 어떻게 하면 되나요?
abcde@naver.com ----> @naver.com
이런식으로 특정한 문자를 기준으로 짜르고 싶습니다.

pynoos의 이미지

strchr 로 찾아서 뒷부분을 복사하여 쓰면됩니다.

ctcquatre의 이미지

f_str=substr(strchr(),strlen(orig_str)-1)

c,php등 언어에따라 인자값이나 수치등이 약간씩 차이가 나긴합니다.

Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.

niemand의 이미지

속도가 중요하지 않다면 모르겠지만

그냥 do while 문을 사용하면서 '@'이 나오면 버퍼에 복사하기 시작하는
코딩을 하시는게 훨씬 빠릅니다

물론 데이타가 아주 많아져야 효과를 보겠지만요 ^^

acidd15의 이미지

C 버전:

char *mail="abcde@naver.com";
char *tail=NULL;

if( (tail=(char *)strchr((const char *)mail,(int)'@')) ){

printf("%s\n",tail);

}

PHP 버전

$mail="abcde@naver.com";
$tail=strstr($email,"@");
print $tail."\n";

Perl 버전

$mail="abcde\@naver.com";
$tail=substr($mail,index($mail,"@"));
print $tail."\n";

ㅡ,.ㅡ;;의 이미지

sp = strchr( buf, '@' );


----------------------------------------------------------------------------

doldori의 이미지

C++입니다.

string s("abcde@naver.com");
string::size_type pos = s.find('@');
if (pos != string::npos)
    string substr = s.substr(pos);

ps. 다양한 버전이 나오는군요. ^^;

acidd15의 이미지

ㅡ,.ㅡ;; wrote:
sp = strchr( buf, '@' );

정보입니다.

strchr은 strstr함수에서 alias된 함수 입니다.

lifthrasiir의 이미지

파이썬 버전입니다.

mail = "abcde@naver.com"
print mail[mail.find('@'):]   # 또는, print mail.split('@',1)[1]

- 토끼군

smoon의 이미지

다양한 버전이. -_-;;

echo abcde@naver.com | awk -F '@' '{print "@"$2}'

echo abcde@naver.com | sed -e 's/^.*@/@/'