PDA

View Full Version : جداسازی نام از یک رشته



abasfar
یک شنبه 17 بهمن 1389, 10:50 صبح
سلام من یک رشته بزرگ دارم (متن) که میخوام اسم را از ان تشخیص داده وجدا کنم که البته یک regex دارم اونم ایمیل است یعنی اسم کنار ایمیل را میخوام بردارم حالا اسم چه فارسی چه به انگلیسی باشه حالا چی کار کنم ممنون میشم کمک کنیدلطفا

مثال



ایمیل طراح قالب. عباس abfa2005@gmail.com ارسال به دوستان امتیاز بگیرید

shuriken
یک شنبه 17 بهمن 1389, 14:59 عصر
راستش فک نمیکنم هیچ راهی برای اینکار وجود داشته باشه
چون اسم در واقع یک مفهوم هست و شما نمیتونین در متن دنبال یک مفهوم خاص بگردین
مگر اینکه یک بانک بزرگ اطلاعاتی داشته باشین و با استفاده از اون بخواین حدس بزنینش.
بهترین کار اینه که یک فرمت خاص برای متن و ایمیلتون در نظر بگیرین
مثلا اجبار کنین اسم رو قبل از ایمیل بنویسن و اسم نباید دارای فاصله باشه
اینطوری میتونین اسم رو درست تشخیص بدین و ازش استفاده کنین.

abbas.oveissi
یک شنبه 17 بهمن 1389, 15:13 عصر
سلام من یک رشته بزرگ دارم (متن) که میخوام اسم را از ان تشخیص داده وجدا کنم که البته یک regex دارم اونم ایمیل است یعنی اسم کنار ایمیل را میخوام بردارم حالا اسم چه فارسی چه به انگلیسی باشه حالا چی کار کنم ممنون میشم کمک کنیدلطفا

مثال

خب دوست عزیز من نمیدونم درست فهمیدم منظور شما را یا نه،اما شما بر اساس همین مثال میتونید یه الگو تعریف کنید . مثلا در این جمله 2 تا نقطه به کار رفته ، اگر شما این جمله را با تابع split براساس نقطه جدا کنید یه آرایه با 3 خانه خواهید داشت ، مانند زیر =
خانه اول : [ایمیل طراح قالب] - خانه دوم : [عباس com] - خانه سوم : [abfa2005@gmail ارسال به دوستان امتیاز بگیرید]
حالا میتونی خانه دوم آرایه را به یک تابع split دیگر به دو قسمت تبدیل کنی،که اولیش اسم است . برای جداسازی رشته ها باید یک الگوی مشخص پیدا کنی و از آن استفاده کنی .

abasfar
یک شنبه 17 بهمن 1389, 15:23 عصر
راستش فک نمیکنم هیچ راهی برای اینکار وجود داشته باشه
چون اسم در واقع یک مفهوم هست و شما نمیتونین در متن دنبال یک مفهوم خاص بگردین
مگر اینکه یک بانک بزرگ اطلاعاتی داشته باشین و با استفاده از اون بخواین حدس بزنینش.
بهترین کار اینه که یک فرمت خاص برای متن و ایمیلتون در نظر بگیرین
مثلا اجبار کنین اسم رو قبل از ایمیل بنویسن و اسم نباید دارای فاصله باشه
اینطوری میتونین اسم رو درست تشخیص بدین و ازش استفاده کنین.ممنون از جواب شما من میخوام یک الگریتم سریع داشته باشم که با جستجو در میان انها و مقایسه با پایگاه داده اسم را بیابم اما نمیدونم کدام الگریتم سریع ترین الگریتم کار من است


خب دوست عزیز من نمیدونم درست فهمیدم منظور شما را یا نه،اما شما بر اساس همین مثال میتونید یه الگو تعریف کنید . مثلا در این جمله 2 تا نقطه به کار رفته ، اگر شما این جمله را با تابع split براساس نقطه جدا کنید یه آرایه با 3 خانه خواهید داشت ، مانند زیر =
خانه اول : [ایمیل طراح قالب] - خانه دوم : [عباس com] - خانه سوم : [abfa2005@gmail ارسال به دوستان امتیاز بگیرید]
حالا میتونی خانه دوم آرایه را به یک تابع split دیگر به دو قسمت تبدیل کنی،که اولیش اسم است . برای جداسازی رشته ها باید یک الگوی مشخص پیدا کنی و از آن استفاده کنی .

ممنونم از جواب شما اما در این مثال این فرمت بود اما در نمونه های من همه جور اطلاعات است بدون فرمت خاصی

کسی جدول تمام نام های ایرانی را به صورت فارسی و انگلیسی داره میشه اینجا بزاره ما هم استفاده کنیم ممنون میشم