2015-02-10 100 views
1

我有一个Postgres数据库这样的领域:Javascript在“ - ”和“”之后添加换行符。

巴奇列尔 - 科学与技术。 - 人文与社会科学。 - 语言:英语和法语。项目和教学服务 - 开放式支持课堂(PROA)。 - 辅导员和两名辅导员:学生和家庭的个性化和集体关注。 - 协调级别的辅导。 - 巴斯克语的语言规范化计划。 - AULATICE。创新和培训项目 - 中心网站,充满活力并支持教学。 - 博客:辅导,心理学,学校21世纪议程(A21E),数学,物理,天堂,数,家长协会... - 学校21世纪议程(A21E)。参与市政议程。可持续学校证书。 - 多语种项目:英文项目。 - 任务学习课堂(AAT)项目:厨房。 - 积极参与教育部召集的项目。服务 - 在ESO中资助学校的交通工具。 - 学校餐厅(ESO)。 - 学生上网(WI-FI)和内联网。设施 - 护理。 - 两个电脑图书馆(ESO和Bachiller)。 - 教室中的电视和DVD - 四间电脑室 - 大会堂。 - 实验室:物理,化学,自然科学和摄影。 - 关于塑料,技术和电气工程的讲习班。 - 专业音乐,艺术,巴斯克语,西班牙语,英语,AULATICE课程的教室 - 广泛的体育设施,室内和室外。前冲。

我想使用JavaScript来这个文本转换成:

BACHILLER 
- Ciencias y Tecnología. 
- Humanidades y Ciencias Sociales. 
- Idiomas: inglés y francés. 
PROYECTOS Y SERVICIOS PEDAGÓGICOS 
- Aula abierta de apoyo (PROA). 
- Departamento de Orientación con dos orientadoras: atención individualizada y colectiva de 
alumnado y familias. 
- Tutoría coordinada por niveles. 
- Plan de Normalización Lingüística del Euskera. 
- AULATICE. 
INNOVACIÓN Y PROYECTOS DE FORMACIÓN 
- Página web del centro, dinámica y de apoyo a la enseñanza. 
- Blogs: Orientación, Psicología, AGENDA 21 ESCOLAR (A21e), Matemáticas, Física, PARADISE, 
Números, Asociación de Padres y Madres… 
- AGENDA 21 ESCOLAR (A21e). Participación en la agenda municipal. Certificado de Escuela 
Sostenible. 
- Proyecto plurilingüe: ENGLISH PROJECT. 
- Proyecto del Aula de Aprendizaje de Tareas (AAT): cocina. 
- Participación activa en los proyectos convocados por el Dpto. de Educación. 
SERVICIOS 
- Transporte escolar subvencionado en ESO. 
- Comedor escolar (ESO). 
- Acceso a Internet para el alumnado (WI-FI) e Intranet. 
INSTALACIONES 
- Enfermería. 
- Dos bibliotecas informatizadas (ESO y Bachiller). 
- TV y DVD en aulas. 
- Cuatro aulas de Informática. 
- Salón de actos. 
- Laboratorios de: Física, Química, Ciencias Naturales y Fotografía. 
- Talleres de: Plástica, Tecnología y Electrotecnia. 
- Aulas especializadas de: música, arte, euskera, castellano, inglés, AULATICE… 
- Amplias instalaciones deportivas, cubiertas y al aire libre. Frontón. 

我需要编写一个小功能,使的伎俩。我认为在每个“ - ”之前和“。”之前在oupput文本中插入一个新行。标志就足够了。它必须足够聪明,以满足两个要求时添加两个换行符。

我的JavaScript知识是非常有限的,我需要帮助这个时候......同样

问候,

回答

4

,实现ESTA很可能是使用正则表达式的最好方法。 如果您想了解更多关于正则表达式的知识,我建议您查看RegexOne.com

我的解决办法是: - “”

textblock.replace(/ - /g, "\n- ").replace(/\./g, ".\n").replace(/^\s*\n/gm, ""); 

首先我更换每一个 “”,每用换行符和后缀来删除满足两个条件时出现的空行。

JSFiddle link

+0

这工作比我好,使用多修改'M'随着整体modifier' G'。 – Kev 2015-02-10 11:11:31

1
input.replace(/[-]/g, "\r\n-").replace(/((\.\s*)([A-Z]{2,}))/g,".\r\n$3") 
相关问题