用回车符替换字符-JavaScript

时间:2019-06-05 19:16:22

标签: javascript string replace carriage-return

我想寻求帮助,以学习如何替换字符串中的3个不同字符组合,并将其替换为回车符。

字符组合为:

++~
~~+
+~\

我希望能够用回车替换这些组合。

字符串示例:

Capacity for the concerts is 3,645 persons with additional safety conditions.++~ Approved contractor will barricade and cone the race route.++~ Coordinate activities and schedule with the street coordinator, 608-261-9171.++~ Animals must remain in fenced area ~~+ Maintain access to Metro stops.~~+ There is no event parking in the parking lot.~~+ Event volunteers and staff will monitor the barricades during the event.~~+ Staff will review the event for compliance to the established conditions and determine what remediation (if any) is needed and/or establish considerations for future events.+~\ Event organizer/sponsor is responsible for cleanup of event area. Charges will be assessed for any staff time or resources required for clean-up.+~\   

对代码示例的任何帮助将不胜感激。

谢谢!

更新

我有一个启动程序功能,它可以工作,但是我不确定这是否是可扩展的解决方案。

function findAndReplace() {

    var string = 'Addendum and/or contract providing additional event details and conditions. Capacity for the King St. concerts is 3,645 persons with additional safety conditions as per Addendum.++~ Addendum and/or contract providing additional event details and conditions on file in Madison Parks.++~ Notification: Event participants must be notified prior to the race that they must adhere to the traffic signals. They are not allowed to stop traffic during the event.++~ Organizer must notify hotels, businesses and residents along the approved bike route. Include estimated time periods when athletics will "block" access and provide day-off contact information.++~ Call the Sayle Street Garage, 608-266-4767, 1120 Sayle St, to make arrangements to pick up and return barricades required for event. There may be charges for this equipment.++~ '; 

    var target1 = '++~ ';   
    var target2 = '~~+ ';   
    var target3 = '+~\\ ';  

    var replacement = '\n';

    var i = 0, length = string.length;

    for (i; i < length; i++) { 

        string = string.replace(target1, replacement) 
                        .replace(target2, replacement)
                        .replace(target3, replacement);
    }

    return string;

} 

console.log(findAndReplace());

3 个答案:

答案 0 :(得分:2)

这个简单的正则表达式将替换字符串中所有出现的内容。

/\+\+~|~~\+|\+~\\/g

您首先需要对字符串中的\进行转义,以便使此abc+~\monkey成为此abc+~\\monkey

然后,您可以使用split拆分项目。映射以对项目进行清理,然后加入以插入您的回车符\r\n

let str = 'Capacity for the concerts is 3,645 persons with additional safety conditions.++~ Approved contractor will barricade and cone the race route.++~ Coordinate activities and schedule with the street coordinator, 608-261-9171.++~ Animals must remain in fenced area ~~+ Maintain access to Metro stops.~~+ There is no event parking in the parking lot.~~+ Event volunteers and staff will monitor the barricades during the event.~~+ Staff will review the event for compliance to the established conditions and determine what remediation (if any) is needed and/or establish considerations for future events.+~\\ Event organizer/sponsor is responsible for cleanup of event area. Charges will be assessed for any staff time or resources required for clean-up.+~\\'

str = str.split(/\+\+~|~~\+|\+~\\/g).map(i => i.trim()).join('\r\n')

console.log(str)

答案 1 :(得分:1)

您可以尝试在js中使用replace函数:-

let sampleStr = `Capacity for the concerts is 3,645 persons with additional safety conditions.++~ Approved contractor will barricade and cone the race route.++~ Coordinate activities and schedule with the street coordinator, 608-261-9171.++~ Animals must remain in fenced area ~~+ Maintain access to Metro stops.~~+ There is no event parking in the parking lot.~~+ Event volunteers and staff will monitor the barricades during the event.~~+ Staff will review the event for compliance to the established conditions and determine what remediation (if any) is needed and/or establish considerations for future events.+~\ Event organizer/sponsor is responsible for cleanup of event area. Charges will be assessed for any staff time or resources required for clean-up.+~\ `;

let replacedString  = sampleStr.replace(/\++~/g, '\r').replace(/~~\+/g,'\r').replace(/\+~\\/g,'\r');

alert(replacedString);

答案 2 :(得分:1)

您可以尝试

const str = "Capacity for the concerts is 3,645 persons with additional safety conditions.++~ Approved contractor will barricade and cone the race route.++~ Coordinate activities and schedule with the street coordinator, 608-261-9171.++~ Animals must remain in fenced area ~~+ Maintain access to Metro stops.~~+ There is no event parking in the parking lot.~~+ Event volunteers and staff will monitor the barricades during the event.~~+ Staff will review the event for compliance to the established conditions and determine what remediation (if any) is needed and/or establish considerations for future events.+~\\ Event organizer/sponsor is responsible for cleanup of event area. Charges will be assessed for any staff time or resources required for clean-up.+~\\  ";

console.log(str.replace(/\+\+~|~~\+|\+~\\/g, '<new symbol>'));