需要正则表达式删除\“和'
chrome://flags/
重用字符串:CCB E安全网上银行安全组件3.0.7.0。配置和服务工具v3.02.00
我正在使用
String date="\"CCB \\\"E Safety\\\" Internet Banking security components 3.0.7.0\"'Configuration & \\\"Service Tool v3.02.00'"
但是它也会删除点
CCB E安全网上银行安全组件3 0 7 0配置服务工具v3 02 00
答案 0 :(得分:2)
data = date.replaceAll("[\\\\\"'\\s]+", " ").trim();
结果
CCB E Safety Internet Banking security components 3.0.7.0 Configuration & Service Tool v3.02.00
答案 1 :(得分:0)
不要使用正则表达式!
要删除的字符可以不使用正则表达式就删除,而且更容易阅读:
-module (statem).
-behaviour(gen_statem).
-export ([start_link/0]).
-export([init/1, callback_mode/0, terminate/3, code_change/4,handle_event/4]).
start_link() ->
gen_statem:start_link({local,?MODULE}, ?MODULE, [], []).
init([]) ->
{ok, state1, #{info => 0, call => 0 , cast => 0, timeout => 0},[{state_timeout, 2000, timeout}]}.
callback_mode() ->
handle_event_function.
handle_event(state_timeout,_EventContent,_State,#{timeout := 20}) ->
io:format("max timeout count reached~n"),
{stop, normal};
handle_event(EventType,EventContent,State,Data) ->
io:format("EtventType : ~p~nEventContent : ~p~nState : ~p~nData : ~p~n", [EventType,EventContent,State,Data]),
NewData = process_event(EventType,EventContent,State,Data),
{next_state, State, NewData,[{state_timeout, 2000, timeout}]}.
terminate(_Reason, _State, _Data) ->
ok.
code_change(_Vsn, State, Data, _Extra) ->
{ok, State, Data}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
process_event(info,_EventContent,_State,Data) ->
maps:update(info, maps:get(info, Data)+1, Data);
process_event(cast,_EventContent,_State,Data) ->
maps:update(cast, maps:get(cast, Data)+1, Data);
process_event(state_timeout,_EventContent,_State,Data) ->
maps:update(timeout, maps:get(timeout, Data)+1, Data);
process_event({call,From},EventContent,_State,Data) ->
gen_statem:reply(From, {got,EventContent}),
maps:update(call, maps:get(call, Data)+1, Data).
如果您想知道,data = data.replace("\"", " ").replace("'", " ").trim();
仍会替换 all 个出现的地方,但是搜索参数只是纯文本,而replace()
使用正则表达式搜索参数。