『壹』 java正則表達式 過濾特殊字元 只允許中文、字母和數字, 該怎麼寫急。。。
^~|||String str = "*(^YUIGHUGU^^&*()*6哈哈89324328uewh~!@#$%^&*()_+,./<>?;':[]\\{}|-=";//要過濾的字元串
str = str.replaceAll("[\\pP|~|$|^|<|>|\\||\\+|=]*", "");
System.out.println(str);
輸出內結果容:YUIGHUGU6哈哈89324328uewh
『貳』 java如何過濾出電話號碼
你學過正則表達式沒,,,學下那個就好了,,網路個正則表達式,然後去爬電話號碼就好了
『叄』 中國大陸國際區號是「 +86」,還是「 +086」、「 +0086」
中國大陸國際區號是「 +86」
00是國內自己的國際撥號代碼,不同國家的數字是不同的,也就是說中國打國外才用00加區號,國外打中國則要用當地代碼加86。因為很不方便,所以國際上為了通用性,一般用+代替代碼。
(3)java電話過濾國家碼擴展閱讀:
區號是指世界各大城市所屬行政區域常用電話區劃號碼,這些號碼主要用於國內、國際長途電話接入。比如,中國大陸國際區號86,北京區號010、廣州區號020等。而在使用國內長途電話時,區號前要加撥0。
值得一提的是,人們往往容易混淆概念,誤以為區號本身前面有一個0。也就是說,由於0是唯一的國內長途接入碼,經常和後面的區號並列使用,所以形成了習慣。實際上在境外打電話回境內某城市時,當地國際長途電話接入碼加在中國國家號86之後,該城市區號前沒有0。比如,成都區號應是28,而非028。
編號原則:
採用「多級匯接制」,在電話長途區號的編制上也體現了「多級」的原則,並且在號碼編排上體現一定對應關系。
第一級是國家總匯接中心、主國際介面局所在地,即首都北京,使用一位區號,就是1(後改為10)。
第二級為直轄市和大區中心使用兩位區號,當時三大直轄市,除北京已使用1(後改為10)以外,上海、天津各使用21、22區號。東北、華東、華南、華中、西南、西北中心城市沈陽、南京、廣州、武漢、成都、西安使用24、25、20、27、28、29區號。26是為台灣預留的大區交換中心區號,也可以理解為為台北預留的,因為台灣省在行政區劃序列中排在華東區,因此使用華東區大區交換中心南京25區號的後一位。
第三級為省交換中心和地區交換中心,使用三位區號,且首位與大區交換中心城市兩位區號的末位對應(華北、華南區除外),區號第二位為1、3、5、7、9五個奇數,省級交換中心(一般為省會、自治區首府)除有大區交換中心兼的省份外,尾數為1。這樣,6字頭的三位區號也因26的預留被預留給台灣省了。
第四級為縣交換中心,使用四位區號,第一位數同相應地區交換中心三位區號的第一位數,第二位使用2、4、6、8、0五個偶數。
參考資料:網路-區號
『肆』 Java如何實現通訊錄加部門過濾
用文本文件來存儲通訊錄。
保存格式:
聯系人名字|電話|通訊地址
比如:
張三|10086|北京海淀區 (換行)
李四|10010|上海浦東區 (換行)
基本思路:
1、編寫一個Person類存儲聯系人,用BufferedReader實現讀取聯系人, BufferedWriter 實現保存聯系人,封裝一些方法實現將保存在通訊錄文件中的聯系人與Person類進行映射。用ArrayList存儲多個聯系人(Person對象)
2、實現查找通訊錄功能:根據給出的搜索內容,在ArrayList搜索全部聯系人,列印滿足要求的聯系人信息。
3、實現修改功能:將修改之後的信息保存到聯系人(Person對象),然後調用保存方法將ArrayList中的全部聯系人數據按照上面約定的格式寫入文本文件。
4、實現刪除聯系人功能:只要將ArrayList中的某個聯系人(Person對象)移除,然後調用保存即可。
『伍』 在java中,使用過濾器編碼過濾亂碼時,過濾器的編碼怎麼寫
public void doFilter(ServletRequest srequest, ServletResponse sresponse,
FilterChain chain) throws IOException, ServletException {
if (null != encoding) {
HttpServletRequest request = (HttpServletRequest)srequest;
HttpServletResponse response = (HttpServletResponse)sresponse;
// 對請求進行編碼設置
request.setCharacterEncoding(encoding); //把請求用指定的方法編碼
response.setContentType("text/html");
response.setCharacterEncoding(encoding); //把返回響應指定 編碼方式
System.out.println("------------過濾編碼-------------" + encoding);
}
// 把處理許可權交給下一個過濾器
chain.doFilter(srequest, sresponse);
}//這是核心方法
正好項目中有用到
『陸』 給10的8次方的人的電話號碼排序(JAVA)應該怎麼排,誰有思路麻煩請教下
你好,典型的海量數據排序問題。給你一篇文章做參考吧:
在某個項目中,我們需要對2 億條手機號碼刪除重復記錄( 過濾號碼黑名單同樣有效)
工作難點就在於如何處理這2 億條電話號碼, 直接用哈希表存放手機號碼不大現實, 即使經過優化, 用一個unsigned int 存放一條記錄, 那也得需要2 億*4=8 億byte, 遠超過32 位系統的定址能力
解決方案:
將電話號碼由12 位單個數字組成的字元串轉換為一個unsigned int 型數據( 這個完全可能, 手機號碼由前三位數字和後面八位數字組成, 後面八位需要佔到1~1000 萬的空間, 而前面用0~100 的數字存儲已經足夠) 為簡單起見, 默認為0~4G 的數字都有可能分布號碼 , 為此我們分配4G/32=512M 的內存將這2 億個號碼整理成unsigned int 類型後按上述辦法存放在這塊內存中( 比如13512345678 我們整理後為112345678, 我們找到內存中112345678bit 的下標, 並將此bit 值設為1) 遍歷整個bit 數組, 記錄下所有的號碼, 這些號碼即是不重復的手機號碼
總結
建立一個足夠大的bit 數組當作hash 表
以bit 數組的下標來表示一個整數
以bit 位中的0 或1 來表示這個整數是否在這個數組中存在
適用於無重復原始數據的搜索
原來每個整數需要4byte 空間變為1bit ,空間壓縮率為32 倍
擴展後可實現其他類型(包括重復數據)的搜索
『柒』 java通過一個數字找到匹配的手機號碼怎麼寫代碼
比如你拿到的數字是 number, 所有手機號碼為 tele_nums,一個手機號碼為tele_num;
。。。
String test = String.vlaueOf(number);
for(...) { //獲取單個手機
if(tele_num.contains(test)) {
...
...這裡面就已經過濾了
}
}
『捌』 java代碼怎樣去匹配國家代號與區號
簡單粗暴一點的話, 聲明一個HashMap,將國家代號 作為key,名字作為value先存起來
傳過來的 A 只需要判斷 map.containsKey(A) 就行了
區號也可以類似的弄
『玖』 java 正則過濾字元串穿中的數字開頭字元
可以。Java正則表達式:32="1"\s+59="0000"
完整的程序如下:
publicclassLL{
publicstaticvoidmain(String[]args){
Strings="<root><users><userid="2739751"ccted="0000000000"32="1"59="0000"name="張非"></user></users></root>";
System.out.println(s.replaceAll("32="1"\s+59="0000"",""));
}
}
運行結果:
<root><users><user id="2739751" ccted="0000000000" name="張非"></user></users></root>
『拾』 java怎樣判斷CN是否在國家代號裡面
一般國際上手機號碼中代表國家是類似(+86)這樣的前綴,網上網路下各國的電話區號大全,放進list中,去號碼的前三位進行判斷就行了。
如果只是一個11位數的手機號碼,那判斷國家估計不行,