正则表达式删除

时间:2018-08-09 07:08:30

标签: java regex

需要正则表达式删除\“和'

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

2 个答案:

答案 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()使用正则表达式搜索参数。