الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحويل المسافة الموجودة بين الكلمات الى tab

مغلق
بدأه TheNewLeader في 23 سبتمبر 2006 · 15 رد · 2,106 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

كل عام وانت بخير

اخوتي الكرام

عندي ملف فيه كلمات والمسافة بين الكلمات احيانا تكون 3 مسافات بيضاء باستخدام spacebar

واحيانا 2

كيف لي ان اجعل المسافة بين كل الكلمات هي tab

مهما كان عدد white space

اللي موجودة بين الكلمات

مثال

ذهب احمد الى المدرسة

تكون

ذهب احمد الى المدرسة

#2

أتمنى أن يفيدك

public final class SpaceToTab
{
	public static void main(String[] FinalHeaven)
	{

		final String text = "Ahmad went			to   school";
		String temp = "";
		boolean check = false;

		for (int index = 0; index < text.length(); index++)
		{

			if (text.charAt(index) == ' ')
			{

				if (!check)
				{
					temp += "\t";
					check = true;
				}

			}
			else
			{

				temp += text.charAt(index);
				check = false;

			}

		}

		System.out.println(temp);
	}
}

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#3

بسم الله الرحمن الرحيم

اخي الفاضل

شكرا لك على تعاونك معي

لكن برنامجك يحول كل (space)

الى (tab)

وما اردته هو ان تكون المسافة بين الكلمات هي (tab)

بغض النظر عن عدد (space) بينها

#4

عفوا يا أخي و لكن برنامجي يحول جميع spaces إلى tab واحدة فإذا كان لديك 3 space بين كلمة و كلمة تتحول إلى tab واحدة

أوليس هذا ما تريده؟

و لترى النتيجة ضع مكان space أي حرف آخر مثلا مكان space ضع "1" و مكان tab ضع "2"

المثال:

ذهب11أحمد11111إلى1111111111المدرسة

النتيجة:

ذهب2أحمد2إلى2المدرسة

تم تعديل هذه المشاركة بواسطة Final Heaven في 24 سبتمبر 2006 في 09:48

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#5

بسم الله الرحمن الرحيم

اخي الفاضل شكرا لك

مع اني اخذت برنامجك

copy paste

الا اني حين اخذت النتائج لم تكن المسافات فيها عبارة عن tab

ولكن حين جربت ما قلت لي مشي الحال

جزاك الله خيرا

#6

بسم الله الرحمن الرحيم

اخي لا اردي حين اخذ الناتج الموجود واضعه في برنامج الword

لا تكون المسافة هي tab

ولا ادري لماذا

اخي كيف يمكن تطوير هذا البرنامج ليتعامل مع الملف

#7

اليك هذا المثال باستخدام StringTokenizer

public static void main(String[] args) {

		String sent = "Majdi  Ibrahim   The  newLeader		  arabteam2000";
		String sent2 ="Majdi Ibrahim  The newLeader   arabteam2000";


		System.out.println(createTabs(sent));
		System.out.println(createTabs(sent2));

	}

	public static String createTabs(String sentence) {
		StringTokenizer stringTokenizer = new StringTokenizer(sentence);
		String out = "";
		while (stringTokenizer.hasMoreTokens()) {

			out += stringTokenizer.nextToken().trim() + "\t";

		}
		return out;

	}

لست متواجد بشكل يومي

#8

بسم الله الرحمن الرحيم

اخي الكريم مجدي

عندما جربت برنامجك واخذت ال output من شاشة الى الword

مع اختياري لخاصية اظهار المسافات

لم تكن المسافات بين الكلمات عبارة عن tab

بل كانت كما يلي

Majdi Ibrahim The newLeader arabteam2000

Majdi Ibrahim The newLeader arabteam2000

Press any key to continue...

زما اريده هو ان تكون

Majdi Ibrahim The newLeader arabteam2000

لا ادري لماذا انعكس ترتيبها هنا

لكن حين استعملت البرنامج لم تكن المسافات الجديدة التي تم تغيرها عبارة عن tab

ما السبب في رايك؟؟؟

لا اردي قد يكون المنتدى لا يتعامل مع المسافات

لان في الرد السابق الناتج الخاص ببرنامجك وما اريده متطابقين

لكن هذا ليس ما وجدته في الword

#9

استخدم هذا StringBuffer افضل من String

From java code : Majdi	Ibrahim	The	newLeader	arabteam2000
From word	  : Majdi	Ibrahim	The	newLeader	arabteam2000

 public static String createTabs(String sentence) {
			StringTokenizer stringTokenizer = new StringTokenizer(sentence);
			StringBuffer out = new StringBuffer();
			while (stringTokenizer.hasMoreTokens()) {

				out.append(stringTokenizer.nextToken().trim() + "	");//tab from keyboard

			}
			return out.toString();

		}

نفس الشئ قم بالتجربة واكتبها بالورد لن تختلف

لست متواجد بشكل يومي

#10

بسم الله الرحمن الرحيم

اخي الفاضل مجدي

جزاك الله خيرا

لقد جربت ما تفضلت به لكنه لم يجدي نفعا

ما اردته هو ان تكون المسافات بين الكلمات بين كل كلمة واخرى هي tab

والتي يشار لها في word ب <--

حين ظهرت النتائج كانت المسافة بين الكلمات في الجملة الاولي والثانية متساوية لكنها مسافات اي ... وليس <--

ارجو ان يكون طلبي واضحا

Majdi Ibrahim The newLeader arabteam2000

Majdi Ibrahim The newLeader arabteam2000

Press any key to continue...

جزاك الله خيرا

#11

لا اعرف ممكن من الورد او الورد الي عندي كتبت كل كلمة في الجملة ثم ضغطت <-- tab فكانت نفس المسافة وكمان تنساش عدد الاحرف التي تتكون منها الكلمة حاول اظهار النتيجة ليس على الدوس وانما خلي البرنامج يكتبها في ملف ثم انسخها الى الورد واكتب اسفلها كل كلمة ثم <-- tab فستظهر نفسها انا عندي طلع نفس النتيجة والمسافة ايضا

تم تعديل هذه المشاركة بواسطة مجدي محمود في 18 أكتوبر 2006 في 01:15

لست متواجد بشكل يومي

#12

بسم الله الرحمن الرحيم

اخواي مجدي و final heaven

لقد جربت برنامجيكما لا يوجد اخطاء فيهما لكن الناتج حين اخذه الى الورد لا تكون المسافات بين الكلمات عبارة عن tab

ولقد حاولت مرارا ان اضع الناتج هنا لكن المسافات تتغير ولا يحتفظ بها وكان النتيجة نفسها

مع انه اذا حاولت ادخال ال tab عن طريق الkeybord

تكون النتيحة مختلفة

ارجو المساعدة لاني احتاج هذا فعلا

بارك الله فيكما

#13

هذا الكود يقوم بأخذ الكلمات الموجودة في الجملة ثم جعل مسافات tab بينها ، يمكن تغيير اشارة t\ وجعلها أي مسافة أخرى

		String hadi = "hello   how do				you  do";
		String s[] = hadi.split(" ");


		String result="";
		 for(int a=0;a<s.length;a++){
		 	if(!s[a].equals(""))
		 	result+=s[a]+"\t";
		 }

		System.out.println(result);
#14

بسم الله الرحمن الرحيم

حاولت ايضا برنامجك اخي alnabris

كانت المسافات عبارة عن

3

1

2

1

وليس ايا منها tab

لأ ادري اين الخطا

#15
public class Hadi{

	public static void main(String arsg[]){
		String hadi = "hello   how do				you  do";
		String s[] = hadi.split(" ");


		String result="";
		 for(int a=0;a<s.length;a++){
			 if(!s[a].equals(""))
			 result+=s[a]+"	   ";
		 }

		System.out.println(result);
		javax.swing.JOptionPane.showMessageDialog(null,result);
		System.exit(0);
	}

}
#16

بسم الله الرحمن الرحيم

اخوي نبراس

والله هاالبرنامج خبل بي :blink: :wacko:

جنني يا اخوي

ولا راضي يضبط

حتى اني جربت على جهاز ثاني قلت يمكن الورد اللي عندي مخرف شوي

بس نفس النتيجة :angry:

ما اعرف شو اسوي :blink:

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…