[英]Java string split without space
我正在嘗試拆分一些用戶輸入。 輸入的形式為a1 b2 c3 d4。 對於每個輸入(例如; a1),如何將其拆分為“a”和“1”?
我熟悉字符串拆分功能,但是我指定什么作為分隔符,或者甚至可以這樣做?
謝謝。
你可以使用String #substring()
String a1 = "a1"
String firstLetterStr = a1.substring(0,1);
String secondLetterStr = a1.substirng(1,a1.length());
同樣的,
String c31 = "c31"
String firstLetterStr = c31.substring(0,1);
String secondLetterStr = c31.substirng(1,c31.length());
如果要一般性地拆分字符串(而不是嘗試按其他答案計算字符數),您仍然可以使用String.split(),但必須使用正則表達式 。 (注意:當你有像a1,a2,aaa333等字符串時,這個答案會有用)
String ALPHA = "\p{Alpha}";
String NUMERIC = "\d";
String test1 = "a1";
String test2 = "aa22";
ArrayList<String> alpha = new ArrayList();
ArrayList<String> numeric = new ArrayList();
alpha.add(test1.split(ALPHA));
numeric.add(test1.split(NUMERIC));
alpha.add(test2.split(ALPHA));
numeric.add(test2.split(NUMERIC));
此時,alpha數組將包含字符串的alpha部分,數字數組將包含數字部分。 (注意:我實際上沒有編譯它來測試它是否可行,但它應該給你基本的想法。)
這真的取決於你以后如何使用數據,但除了split("")
或通過索引訪問單個字符之外,另一種分割成單個字符的方法是toCharArray()
- 它只是將字符串分解為數組人物......
是的,有可能,你可以使用split("");
后使用分割用戶輸入到個人令牌split(" ")
則可以使用分割每個令牌插入字符split("")
使用空字符串作為分隔符)。
將空格拆分為一個字符串數組,然后使用String.charAt(0)
和String.charAt(1)
拉出單個字符
我建議只迭代三個角色。
for(int i = 0; i < str.length(); i += 3) {
char theLetter = str.charAt(i);
char theNumber = str.charAt(i + 1);
// Do something
}
編輯:如果它可以是多個字母或數字,請使用正則表達式:
([a-z]+)(\d+)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.