[英]How to find the delimiter encountered in a string in JAVA
我已經用Java編寫了簡單的程序,該程序可以處理給定的字符串。
輸入字符串具有一些非字母的定界符。 我已經使用String Tokenizer來讀取和操作字符串中的單個單詞。
現在,我需要使用相同的定界符集來重構此操作的字符串。 如果有人能建議我如何識別定界符,我將不勝感激。
換句話說,這就是輸入:
文本1分隔符1文本2分隔符2文本3分隔符3文本4分隔符4
這是我的代碼的作用:
NewText1 NewText2 NewText3 NewText4
我以這種方式利用字符串標記器來標識下一個標記:
StringTokenizer st = new StringTokenizer(str, ", 0123456789(*&^%$#@!-_)");
但是現在我想確定遇到的定界符,以便可以構建新的字符串。
這是我真正想要的:
NewText1定界符1 NewText2定界符2 NewText3定界符3 NewText4 Delmiter4
您可以按照以下步驟進行:
String dels = "-, 0123456789(*&^%$#@!_)";
String specs = "[" + dels + "]+";
String letts = "[^" + dels + "]+";
String text = "one, two - three! four";
String[] words = text.split( specs );
String[] delim = text.split( letts );
請注意,在連字符中,連字符必須位於前面。 如果添加[
或]
或^
必須格外小心-檢查java.util.regex.Pattern中的javadoc。
組成原始字符串沒有特別的問題。
具有第三個參數的StringTokenizer的缺點在於,它將每個定界符作為長度為1的單獨標記返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.