ورڈ یا کسی بھی ٹیکسٹ فائل کو جملوں میں کیسے توڑا جاتا ہے؟

زہیر عبّاس

محفلین
مجھے مائیکروسافٹ ورڈ کی فائل یا ٹیکسٹ فائل کو جملوں میں توڑنا ہے۔ یعنی فائل میں مختلف پیراگراف موجود ہیں اور ہر پیراگراف میں مختلف جملے۔ میں چاہتا ہوں کہ ہر پیراگراف کا ہر جملہ ایک نئی سطر سے شروع ہو۔ کوئی میکرو کی صورت میں یا کسی دوسری صورت میں مدد کرسکتا ہے۔
مجھے انٹرنیٹ سے تلاش کرتے ہوئے یہ کوڈ ملا ہے تاہم یہ شاید پیتھون میں ہے جس کی مجھے کچھ سمجھ نہیں ہے کہ اس کو میں کیسے اور کہاں استعمال کروں:
کوڈ:
String str = "This is how I tried to split a paragraph into a sentence. But, there is a problem. My paragraph includes dates like Jan.13, 2014 , words like U.S and numbers like 2.2. They all got splitted by the above code.";
    Pattern re = Pattern.compile("[^.!?\\s][^.!?]*(?:[.!?](?!['\"]?\\s|$)[^.!?]*)*[.!?]?['\"]?(?=\\s|$)", Pattern.MULTILINE | Pattern.COMMENTS);
    Matcher reMatcher = re.matcher(str);
    while (reMatcher.find()) {
        System.out.println(reMatcher.group());
    }
 

فاتح

لائبریرین
اگر یہ معلومات صرف آپ کے دماغ میں محفوظ ہیں کہ نیا پیراگراف کہاں سے شروع ہوتا ہے تو ایم ایس ورڈ ہو یا پائتھون کوئی بھی سافٹ ویئر آپ کے دماغ میں موجود معلومات کی بنیاد پر ایسا کرنے سے قاصر ہے۔
 

فاتح

لائبریرین
اگر یہ معلومات صرف آپ کے دماغ میں محفوظ ہیں کہ نیا پیراگراف کہاں سے شروع ہوتا ہے تو ایم ایس ورڈ ہو یا پائتھون کوئی بھی سافٹ ویئر آپ کے دماغ میں موجود معلومات کی بنیاد پر ایسا کرنے سے قاصر ہے۔
ہاں! اگر آپ کے پاس پیراگراف ختم یا شروع ہونے کی کوئی خاص نشانی موجود ہے تب آپ ایم ایس ورڈ کے فائنڈ ری پلیس ٹول کو وہ نشانی دے کر اس کے بعد نیا پیرا گراف شروع کروا سکتے ہیں۔
نئے پیراگراف کا سائن ^p ہے
 

زہیر عبّاس

محفلین
اگر یہ معلومات صرف آپ کے دماغ میں محفوظ ہیں کہ نیا پیراگراف کہاں سے شروع ہوتا ہے تو ایم ایس ورڈ ہو یا پائتھون کوئی بھی سافٹ ویئر آپ کے دماغ میں موجود معلومات کی بنیاد پر ایسا کرنے سے قاصر ہے۔
جناب عام طور پر نیا جملہ فل اسٹاپ کے بعد ہی شروع ہوتا ہے۔ مجھے سادہ ورڈ کی فائل یا یوں کہ لیں کہ ٹیکسٹ میں موجود جملوں کو توڑنا ہے۔ توڑنے سے مراد ہر جملہ الگ سطر سے شروع ہوجائے۔ مثال کے طور پر یہ ایک پیراگراف ہے :
Scientists' consensus is that a layer of liquid water exists beneath Europa's surface, and that heat energy from tidal flexing allows the subsurface ocean to remain liquid.The first hints of a subsurface ocean came from theoretical considerations of tidal heating (a consequence of Europa's slightly eccentric orbit and orbital resonance with the other Galilean moons).
تو مجھے اس کا آوٹ پٹ کچھ اس طرح درکار ہے۔
Scientists' consensus is that a layer of liquid water exists beneath Europa's surface, and that heat energy from tidal flexing allows the subsurface ocean to remain liquid.

The first hints of a subsurface ocean came from theoretical considerations of tidal heating (a consequence of Europa's slightly eccentric orbit and orbital resonance with the other Galilean moons).
 

فاتح

لائبریرین
جناب عام طور پر نیا جملہ فل اسٹاپ کے بعد ہی شروع ہوتا ہے۔ مجھے سادہ ورڈ کی فائل یا یوں کہ لیں کہ ٹیکسٹ میں موجود جملوں کو توڑنا ہے۔ توڑنے سے مراد ہر جملہ الگ سطر سے شروع ہوجائے۔ مثال کے طور پر یہ ایک پیراگراف ہے :
Scientists' consensus is that a layer of liquid water exists beneath Europa's surface, and that heat energy from tidal flexing allows the subsurface ocean to remain liquid.The first hints of a subsurface ocean came from theoretical considerations of tidal heating (a consequence of Europa's slightly eccentric orbit and orbital resonance with the other Galilean moons).
تو مجھے اس کا آوٹ پٹ کچھ اس طرح درکار ہے۔
Scientists' consensus is that a layer of liquid water exists beneath Europa's surface, and that heat energy from tidal flexing allows the subsurface ocean to remain liquid.

The first hints of a subsurface ocean came from theoretical considerations of tidal heating (a consequence of Europa's slightly eccentric orbit and orbital resonance with the other Galilean moons).

یہ تو بہت آسان ہے۔ اس کے لیے کسی پائتھون وغیرہ کی قطعاً کوئی ضرورت نہیں۔ مائکرو سافٹ ورڈ کا فائنڈ ریپلیس ٹول ہی کافی ہے۔
ایم ایس ورڈ میں کنٹرول H دبائیں اور جو ونڈو کھلے اس میں Find what کے خانے میں "." لکھیں اور Replace what کے خانے میں ".^p" اور Replace all پر کلک کر دیں۔
واوین یعنی (") کے بغیر ٹائپ کرنا ہے
 
آخری تدوین:
فائنڈ ریپلیس کا استعمال کریں تو فائنڈ کی کنڈیشن قدرے زیادہ مخصوص کر لیں تاکہ تاریخوں یا اعداد میں مستعمل ڈاٹ پر سطر نہ ٹوٹے، مثلاً بجائے فقط ڈاٹ کو سرچ کرنے کے ڈاٹ اور اسپیس سرچ کریں۔ نیز یہ کہ یہی عمل سوالیہ نشان اور دوسرے سینٹینس باؤنڈری کے ساتھ بھی دہرائیں۔ واضح رہے کہ یہ طریقہ کار بھی صد فیصد درست نہیں ہوگا کیونکہ ایبریوئیشنز کے پاس جملے ٹوٹیں گے، ان کو مینؤلی درست کرنا ہوگا۔ کچھ مزید سگنلز کا استعمال کرتے ہوئے فالس پازیٹیوس کو کم کیا جا سکتا ہے لیکن سرچ پیٹرن کامپلیکس ہو جائے گا۔ :) :) :)
 

دوست

محفلین
انگریزی کے سینٹینس سپلِٹّر بھی مل جاتے ہیں۔ اور ریگولر ایکسپریشن سے بھی یہ کام ہو سکتا ہے۔
 

اسد

محفلین
آسان طریقہ (فائنڈ/ریپلیس) اوپر بتایا جا چکا ہے۔

یہ کافی تحقیقی قسم کا (لِنگویسٹک) کام ہے، اس لیے سادہ ایگزیکیوٹیبل پروگرام ملنا مشکل ہے۔ آپ نورتھ ویسٹرن یونیورسٹی کا آنلائن مورف‌ایڈورنر استعمال کر سکتے ہیں۔ آؤٹ‌پٹ میں جملوں کا سیریل نمبر بھی شامل ہوتا ہے، جسے شاید ختم کرنے کی ضرورت ہو گی۔ آپ یہ ٹول ڈاؤنلوڈ کر کے انسٹال بھی کر سکتے ہیں، اسے چلانے کے لیے جاوا رن‌ٹائم کمپیوٹر پر انسٹال ہونا چاہیے۔ ڈاؤنلوڈ سائز 80میگابائٹ سے کچھ زیادہ ہے۔ میں نے صرف آنلائن صفحہ ہی استعمال کیا ہے۔ یہ انگلش اور اردو سمیت بہت سی زبانیں سپورٹ کرتا ہے۔

اس قسم کے کاموں کے لیے کوئی اچھا ٹیکسٹ ایڈیٹر استعمال کریں (مثلاً نوٹ‌پیڈ++) جس میں ریگولر ایکسپریشن استعمال ہو سکیں۔
 

زہیر عبّاس

محفلین
بہت شکریہ اسد آپ نے میرا مسئلہ حل کردیا۔ یہ آن لائن ٹول تو کافی اچھے نتائج دے رہا ہے۔ خوش رہیے۔
مزیدار بات یہ ہے کہ یہ سائٹ میں بھی دیکھ چکا تھا تاہم اس کا آن لائن صفحہ نہیں دیکھ پایا تھا صرف جاوا والا ڈاونلوڈ صفحہ دیکھا تھا۔
 
آسان طریقہ (فائنڈ/ریپلیس) اوپر بتایا جا چکا ہے۔

یہ کافی تحقیقی قسم کا (لِنگویسٹک) کام ہے، اس لیے سادہ ایگزیکیوٹیبل پروگرام ملنا مشکل ہے۔ آپ نورتھ ویسٹرن یونیورسٹی کا آنلائن مورف‌ایڈورنر استعمال کر سکتے ہیں۔ آؤٹ‌پٹ میں جملوں کا سیریل نمبر بھی شامل ہوتا ہے، جسے شاید ختم کرنے کی ضرورت ہو گی۔ آپ یہ ٹول ڈاؤنلوڈ کر کے انسٹال بھی کر سکتے ہیں، اسے چلانے کے لیے جاوا رن‌ٹائم کمپیوٹر پر انسٹال ہونا چاہیے۔ ڈاؤنلوڈ سائز 80میگابائٹ سے کچھ زیادہ ہے۔ میں نے صرف آنلائن صفحہ ہی استعمال کیا ہے۔ یہ انگلش اور اردو سمیت بہت سی زبانیں سپورٹ کرتا ہے۔

اس قسم کے کاموں کے لیے کوئی اچھا ٹیکسٹ ایڈیٹر استعمال کریں (مثلاً نوٹ‌پیڈ++) جس میں ریگولر ایکسپریشن استعمال ہو سکیں۔

ماشاء اللہ اردو کے لیے بھی کافی حد تک کار آمد ہے : جزاک اللہ اسد بھائی
 
Top