String

2012-05-03 20 views
7

numaralı hash etiketini ayıkla String# karakterinden hemen sonra sözcükleri ayıklamak ve bir String[] dizisinde saklamak istiyorum. Örneğin String

, bu benim String ...
"Array is the most #important thing in any programming #language" 

Sonra bir String[] diziye şu kelimeleri ayıklamak istiyorum

...

"important" 
"language" 

birisi sunuyoruz misiniz öneri ise bunu başarmak.

+3

[Ne denediniz?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) – user1329572

+4

Bu, #homework olarak etiketlenmeli mi? –

cevap

19

bu deneyin - söndürüldü

String str="#important thing in #any programming #7 #& "; 
Pattern MY_PATTERN = Pattern.compile("#(\\S+)"); 
Matcher mat = MY_PATTERN.matcher(str); 
List<String> strs=new ArrayList<String>(); 
while (mat.find()) { 
    //System.out.println(mat.group(1)); 
    strs.add(mat.group(1)); 
} 

-

important 
any 
7 
& 
+0

Bu sözcüğü bir String [] dizisine nasıl ekleyebilirim? – baraaalsafty

+1

@baraaalsafty - kod güncellendi (Array yerine kullanılanlar listesi) –

+0

Doğru. Teşekkür ederim – baraaalsafty

5

bu normal ifade

#\w+ 
12
String str = "Array is the most #important thing in any programming #language"; 
Pattern MY_PATTERN = Pattern.compile("#(\\w+)"); 
Matcher mat = MY_PATTERN.matcher(str); 
while (mat.find()) { 
     System.out.println(mat.group(1)); 
} 
deneyin

kullanılan regex geçerli:

#  - A literal # 
(  - Start of capture group 
    \\w+ - One or more word characters 
)  - End of capture group 
+0

Çok teşekkür ederim – baraaalsafty

+0

Bu sözcükleri bir String [] dizisine nasıl ekleyebilirim? – baraaalsafty

İlgili konular