javascript - 用回车替换字符 - JavaScript
问题描述
我想寻求帮助,学习如何从字符串中替换 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());
解决方案
这个简单的正则表达式将替换字符串中的所有出现。
/\+\+~|~~\+|\+~\\/g
您首先需要对\
字符串中的 进行转义,以便abc+~\monkey
将其变为 this abc+~\\monkey
。
然后您可以使用 split 来拆分项目。map 对项目进行一些清理,然后加入以插入回车\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)
推荐阅读
- jboss - Jboss AS 7.2 - 提供静态内容
- java - Jsoup - 列表的最后一个元素返回 null
- java - 如何使用java从长字符串中删除特定的字符串值?
- reactjs - React Google Login 最大登录尝试次数
- java - Apache POI - PowerPoint 条形图和折线图
- android-softkeyboard - 使用 Jetpack Compose 构建软件键盘 - 在键盘顶部添加额外的 3 个按钮
- python - 如何在python中的列表中平均分割值(适当的值)
- python - 提取特定区间的数据
- python - 比 dir() 更好的东西?
- android - add number within custom marker in google map at flutter?