給定一個輸入字符串,我想只使用正則表達式來查找字符串中以特定順序存在的特定字符的次數。我一直使用正則表達式來匹配表達式,但從不計數字符。不太確定如何去做。所以我只使用模式匹配尋找解決這個問題的方法。如何統計字符串中某些特定的前導字符的數量,僅使用Regex?
例如說我的例子字符串S =「0004fhjs0sjk0」 ,我需要計算的領先數「0」字符串s,這是3在這種情況下。如何定義它返回計數(3這裏)
def get_leading_zeroes(value, character) do
...
end
我已經實現了使用遞歸解決方案的功能,但我想用正則表達式來做到這一點。
def get_leading_zeros(value, count) do
[h|t] = value
if h == "0" do
get_leading_zeros(t, count+1)
else
count
end
get_leading_zeros(value |> String.graphemes, 0)
'字符'只有一個碼點或者它可以是一個長字符串?另外,你是否嘗試自己實現這一點? (如果是的話,你應該添加非工作代碼)。 – Dogbert
對不起,我更新了這個問題。我使用遞歸解決了它,但想知道Elixir中是否有其他更好的方法來實現它,主要是通過使用模式匹配而不是檢查單個字符。 – Shubh77