0 امتیاز
قبل در برنامه نویسی توسط (0 امتیاز)
سلام

نیاز دارم که رشته ای را از اول پیمایش کنم تا به موارد مورد نظر برسم

به این ترتیب

۱-از اول رشته پیمایش شود و به هر کلمه فارسی که رسید اون رو جدا کنه و جای دیگه ذخیره کنه

۲- در رشته وقتی به یک کلمه خاص رسیدیم، اون کلمه از رشته حذف بشه

ممنونم

2 پاسخ

0 امتیاز
قبل توسط (347 امتیاز)
شما میتونید از مجموعه متد های replace در جاوا استفاده کنید.

برای پیدا کردن کلمه فارسی احتمالا بشه با regex ها انجامش داد.
0 امتیاز
قبل توسط (693 امتیاز)

اگر نیاز به پیمایش حرفه ای دارید برای انجام اینکار میتونید از antlr استفاده کنید . antlr یک پارسر متن است .

 

یک فایل T.g با محتوای زیر درست می کنید

grammar T;

parse
  :  line+ EOF
  ;

line
  :  key KEY value eol 
     {System.out.printf("key='\%s', value='\%s'\n", $key.text, $value.text);}
  ;

value
  :  any_except_newline*
  ;

key
  |  KEY
  ;

any_except_newline
  |  KEY
  |  WORD
  |  ANYCHAR
  ;

eol
  :  NEWLINE
  |  EOF
  ;


KEY    : 'jedlab';
WORD    : ('a'..'z' | 'A'..'Z')+;
NEWLINE : '\r'? '\n' | '\r';
SPACE   : (' ' | '\t') {$channel=HIDDEN;};
ANYCHAR : .; 

فایل Main.java

import org.antlr.runtime.*;

public class Main {
  public static void main(String[] args) throws Exception {
    String source = 
        "this is jedlab.\n" + 
        "this is another jedlab!";
    TLexer lexer = new TLexer(new ANTLRStringStream(source));
    TParser parser = new TParser(new CommonTokenStream(lexer));
    parser.parse();
  }
}

 

و در نهایت اجراش می کنید

java -cp antlr-3.3.jar org.antlr.Tool T.g
javac -cp antlr-3.3.jar *.java
java -cp .:antlr-3.3.jar Main

به جای کلمه ی jedlab در فایل T.g کلمه ای که می خواهید را قرار دهید .

سوالات مشابه

0 امتیاز
2 پاسخ 513 بازدید
0 امتیاز
1 پاسخ 1.6هزار بازدید
+1 امتیاز
1 پاسخ 717 بازدید
+1 امتیاز
1 پاسخ 2.6هزار بازدید
0 امتیاز
1 پاسخ 346 بازدید
+1 امتیاز
1 پاسخ 2.2هزار بازدید
0 امتیاز
1 پاسخ 1.1هزار بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
...