[英]Regular Expression remove leading blank and dash character
給定一個字符串,比如String a="- = - - What is your name?";
如何刪除前導等號、破折號、空格字符,以獲得干凈的文本,
“你叫什么名字?”
如果你想刪除前導的非字母,你可以匹配:
^[^a-zA-Z]+
並將其替換為''
(空字符串)。
解釋:
first ^
- 在開始時匹配的錨點。[]
- 字符類second ^
- 字符類中的否定+
- 一場或多場上一場比賽因此,正則表達式匹配字符串開頭的一個或多個任何非字母。
在您的情況下,它將刪除所有前導空格、前導連字符和前導等號。 簡而言之,第一個字母表之前的所有內容。
$a=~s/- = - - //;
在 Javascript 中你可以這樣做
var a = "- = - - What is your name?";
a = a.replace(/^([-=\s]*)([a-zA-Z0-9])/gm,"$2");
爪哇:
String replaced = a.replaceFirst("^[-= ]*", "");
假設 Java 嘗試這個正則表達式:
/^\W*(.*)$/
從捕獲的組 1 中檢索您的字符串!
\\W*
匹配所有前面的非單詞字符
(.*)
然后匹配從第一個單詞字符開始到結尾的所有字符
^,$ 是邊界。 在這種情況下,您甚至可以不用 $。
提示嘗試優秀的Java 正則表達式教程以供參考。
在 Python 中:
>>> "- = - - What is your name?".lstrip("-= ")
'What is your name?'
要刪除任何類型的空格,請使用.lstrip("-= \\t\\r\\n")
。
在 Javascript 中,我需要這樣做並使用以下正則表達式:
^[\s\-]+
並用 '' (空字符串)替換它,如下所示:
yourStringValue.replace(/^[\s\-]+/, '');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.