1. 程式人生 > >舉例說明在android中使用正則表示式去掉字串中標點符號及其他一些特殊符號的方法

舉例說明在android中使用正則表示式去掉字串中標點符號及其他一些特殊符號的方法

在android中使用正則表示式與在java中使用正則表示式是有區別的,比如使用正則表示式去掉一個字串中的標點符號及一些特殊符號時,在java中可以使用的方法是:

public static String format(String s){
  String str=s.replaceAll("
\\pP|\\pS|\\s", "");
  return str;
 }

而在android中使用這個正則表示式\\pP|\\pS|\\s時,問題提示這樣一個錯誤:

java.util.regex.PatternSyntaxException: Syntax error U_REGEX_PROPERTY_SYNTAX near index 3:

\pP|\pS|\s

錯誤的原因在於java中使用正則表示式與android中使用正則表示式是不同的,如果在android中遇到使用正則表示式的時候可以參考這篇文章Android下使用正則表示式

我在android中用正則表示式去掉字串中標點符號及其他特殊符號的方法如下所示:

public static String format(String s){
  String str=s.replaceAll("[`[email protected]#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?|-]", "");
  return str;
 }

在這裡要注意一下,當我去掉字串中的這個符號“-”時,需要在正則表示式中新增對應的符號,我新增這個符號時把它放在了正則表示式的最後的位置,即“|-”,這個“-”放在“`[email protected]#$%^&*()+=|{}':;'”這些符號當中是不能過濾到字串中的這個“-”符號的,試了幾次都不行,最後把它放在了正則表示式最後的位置,終於可以了。

相關推薦

舉例說明在android使用表示式去掉字串標點符號及其一些特殊符號方法

在android中使用正則表示式與在java中使用正則表示式是有區別的,比如使用正則表示式去掉一個字串中的標點符號及一些特殊符號時,在java中可以使用的方法是: public static String format(String s){   String str=s.r

在Python使用表示式去掉字串裡的html標籤

有時候會獲得一些帶html標籤的字串,需要把html標籤去掉,獲得乾淨的字串,這時候可以使用正則表示式。 程式碼如下: import re htmeString = '''    <ul id="TopNav">    &nbs

java表示式去掉所有括號【】

2018年11月17日 13:02:33 進擊的流氓 閱讀數:1 標籤: 正則表示式

表示式去掉C++的註釋內容

C++中的註釋內容,有兩種樣式: // 和 /* */ 針對這兩種樣式,正則表示式可以為\/\*[\s\S]*\*\/|\/\/.* \/\*[\s\S]*\*\/可以識別/* */整塊註釋, \

使用表示式去掉字串前面多餘的0和後面多餘的0

在專案開發過程中往往可能遇到需要去掉字串前面的0,或者末尾的0已進行方便的like查詢等操作: 去掉字串前面的0: QString str = "000000021"; str.remove(QRegExp("^(0+)"));//+:表示1次或多,^:匹配字串開頭或行頭 去

使用表示式去掉字串前面和後面多餘的0

記錄一下小的工具程式碼 1、去掉字串前邊的0 String str = "000000021"; String newStr = str.replaceAll("^(0+)", ""); System.out.println(newStr); 2、去掉字串後邊的0 String str

php表示式 剔除字串的除了漢字的字元(只保留漢字)

1)utf-8的編碼格式,匹配中文程式碼如下: <?php     $str = "utf-8下匹配出中文字串";     $preg = "/[\x{4e00}-\x{9fa5}]+/u";     if(preg_match_all($preg,$str,$mat

java利用表示式提取字串的整數和小數部分

最近開發遇到一個新的東西,就是前端傳過來一個字串,需要將裡面的數字提取出來,倒騰了一天,最後還是沒有倒騰出來,最後還是借鑑大佬的方法。記錄一下。 首先是前端傳來的字串“小明通過掃碼向你付款100000.566元”其中暱稱和金額不是固定的,其他是固定的。 於是便考慮使用“通過掃碼向你付

匹配去掉字串的html標籤

1.得到超連結中的連結地址:、 string matchString = @"<a[^>]+href=\s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>\s]+))\s*[^>]

python表示式字串提取數字

python從字串中提取數字 使用正則表示式,用法如下: ## 總結 ## ^ 匹配字串的開始。 ## $ 匹配字串的結尾。 ## \b 匹配一個單詞的邊界。 ## \d 匹配任意數字。 ## \D

java 利用表示式去處字串的所有空格

轉載自xcmercy的部落格 目標 去除字串中所有的空白字元,包括空格、製表符、回車符等所有空白字元 思路 根據字串長度,利用迴圈遍歷字串此方法太笨拙。這裡利用正則表示式,匹配所有的空白字元,然後將匹配到的空白字元替換為 “” 空串即可。 程式碼 private St

利用表示式去除字串的空格

\s* 表示若干個空格(可以是0個)。 \s+ 表示一個或多個空格 public class Test { public static void main(String[] args) {

表示式擷取字串的數字

方法一: String str="fsdfdsf12315f15哈12的"; String regEx="[^0-9]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); String n

java-使用表示式擷取字串的時間資訊

package com.yr.method; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Aut

使用表示式字串查詢子字串

直接上程式碼: String string = "asdasd#_%12.gifdadsa#_%2324.gif"; String regx = "#_%\\d+.gif"; Patter

表示式取出字串的數字

public static void main(String[] args) {String a="love23next234csdn3423javaeye";String regEx="[^0-9]";  Pattern p = Pattern.compile(regEx)

表示式判斷字串是否有漢字

String ChineseCharactersStr = “這裡是漢字也有yingwen”; 需要匯入 import java.util.regex.Matcher; import java.u

Js 表示式匹配字串是否含有中文

通常在特定的情景裡,有的字串是不允許存在中文字元的,因此我們可以通過正則表示式來匹配。廢話不多說,上程式碼。 JS: function checkChinese(obj_val){ var reg = new RegExp("[\\u4E

php使用表示式提取字串尖括號、小括號、括號、大括號字串

</pre><p>PHP使用正則表示式提取字串中尖括號<>、小括號()、中括號[]、大括號{}中的字元示例,需要的朋友可以參考下</p><p>

Python 表示式匹配字串的http連結

利用Python正則表示式匹配字串中的http連結。主要難點是用正則表示出http 連結的模式。 import re pattern = re.compile(r'http[s]?://(?:[a-z