在长字符串中插入换行符——自动换行

2024-01-04

这是我编写的一个函数,用于将长字符串分成不长于给定长度的行

strBreakInLines <- function(s, breakAt=90, prepend="") {
  words <- unlist(strsplit(s, " "))
  if (length(words)<2) return(s)
  wordLen <- unlist(Map(nchar, words))
  lineLen <- wordLen[1]
  res <- words[1]
  lineBreak <- paste("\n", prepend, sep="")
  for (i in 2:length(words)) {
    lineLen <- lineLen+wordLen[i]
    if (lineLen < breakAt) 
      res <- paste(res, words[i], sep=" ")
    else {
      res <- paste(res, words[i], sep=lineBreak)
      lineLen <- 0
    }
  }
  return(res)
}

它适用于我遇到的问题;但我想知道我是否可以在这里学到一些东西。是否有更短或更有效的解决方案,特别是我可以摆脱 for 循环吗?


这个怎么样:

gsub('(.{1,90})(\\s|$)', '\\1\n', s)

它将字符串“s”分成最多90个字符的行(不包括换行符“\n”,但包括单词间空格),除非有一个单词本身超过90个字符,那么该单词本身将占据整个线。

顺便说一句,你的功能似乎坏了——你应该更换

lineLen <- 0

with

lineLen <- wordLen[i]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在长字符串中插入换行符——自动换行 的相关文章

  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • 字符串列表,获取n个元素的公共子串,Python

    我的问题可能类似于this https stackoverflow com questions 37514193 count the number of occurrences of n length not given string in
  • string.Compare 行为

    怎么会这样呢 这是从VS2008中的立即窗口获取的 string Compare 1 string Compare 0 0 1 从言论来看字符串比较 http msdn microsoft com en us library 84787k2
  • 如何绘制堆积比例图?

    我有一个数据框 x lt data frame id letters 1 3 val0 1 3 val1 4 6 val2 7 9 id val0 val1 val2 1 a 1 4 7 2 b 2 5 8 3 c 3 6 9 我想绘制一个
  • 如何使用 xpath 检查某个对象在网页中是否可见?

    我正在 R 中使用 RSelenium 包来进行网络抓取 有时加载网页后 需要检查某个对象在网页中是否可见 例如 library RSelenium open a browser RSelenium startServer remDr lt
  • 从 df 中提取具有两列的重叠行对

    我想找出这两个表之间哪些对重叠 gt dput data1 structure list Name x c MDH1 MDH1 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 SCOALB SCOALB CSY4 CS
  • 用表达式分割轴标签

    我有一个带有包含表达式的长标签的图 我想将其分成两行 在表达式中添加 n 结果不符合预期 ylabel lt expression A very long label with text and n expression alpha bet
  • 删除字符串末尾的句点和数字

    如何删除尾随句点 后面紧跟一个数字 长度为一位或两位数字 例子 z lt c awe p 56 red 45 ted 5 you 88 tom 我只想删除 45和 5 你只需要一个简单的正则表达式 z new gsub 0 9 z 一些评论
  • 如何使用 R 将每个文件的数据添加为附加行,从而将不同的 .csv 文件合并为一个完整的文件?

    我有几个不同的文件夹 它们都包含一个 csv 文件 所有这些 csv 文件都有一个单独的列 其中包含实验的一种条件的数据 我想以将每个文件的数据添加为新列的方式合并这些 csv 文件 目前 它看起来像这样 C1 csv 102 106 15
  • 如何在knitr和RStudio中为word和html设置不同的全局选项?

    我正在使用 RStudio 0 98 932 和 knitr 1 6 想要为word和html设置不同的全局knitr选项 例如 想要将word的fig width和fig height设置为6 html的fig width和fig hei
  • 获取函数的命名空间

    我正在开发一个包 我希望在其中向对象添加编辑历史记录 该包允许其他包注册用于编辑对象的函数 我正在寻找一种方法来记录注册用于编辑的函数的包的版本 问题是 给定一个函数 如何从导出的位置获取包 我的想法是调查它的搜索路径 但是search 仅
  • Rust 编程竞赛中最快的惯用 I/O 例程?

    我的问题已部分得到解答 因此我根据从评论和其他实验中学到的知识对其进行了修改 总之 我想要一个用于编程竞赛的快速 I O 例程 其中使用单个文件解决问题 无需外部包 它应该从一个以空格分隔的标记序列中读取BufRead 标准输入或文件 标记
  • 在 R 传单中添加不透明度滑块

    如何在 R leaflet 应用程序中添加滑块来控制特定图层的不透明度 对于这个应用程序 我不想使用闪亮 这里建议 在 R 传单应用程序中添加滑块 https stackoverflow com questions 37682619 add
  • R中的字典数据结构

    在 R 中 我有 例如 gt foo lt list a 1 b 2 c 3 如果我输入foo I get a 1 1 b 1 2 c 1 3 我怎样才能看透foo仅获取 键 列表 在这种情况下 a b c R 列表可以具有命名元素 因此可
  • 将 time.Time 转换为字符串

    我正在尝试将数据库中的一些值添加到 string在围棋中 其中一些是时间戳 我收到错误 无法在数组元素中使用 U Created date 类型 time Time 作为类型字符串 我可以转换吗time Time to string typ
  • R 可以创建带有可单击条形图的条形图图像以插入网页吗?

    我知道如何创建条形图 以及如何将其粘贴在网页上 例如 使用hwriteImage in the 作家包 http www embl de gpau hwriter 我想要的是每个栏都是一个在鼠标悬停时突出显示的区域 并且每个栏在单击时都有不
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • 警告消息 - 来自 dummies 包的 dummy

    我正在使用 dummies 包为分类变量生成虚拟变量 其中一些变量具有两个以上类别 testdf lt data frame A as factor c 1 2 2 3 3 1 B c A B A B C C C c D D E D D E
  • 在R中循环子文件夹

    我正在 R 环境中包含多个子文件夹的文件夹中工作 我想要循环遍历多个子文件夹 然后在每个子文件夹中调用 R 脚本来执行 我想出了下面的代码 但我的代码似乎添加了 到子文件夹列表 我收到错误 文件中的错误 文件名 r 编码 编码 无效的 描述

随机推荐

  • Sweet Alert 带有 href 的删除确认

    我使用 PHP 和 Sweet Alert 进行删除确认 问题是它在显示甜蜜警报之前就被删除了 这是我的 HTML 其中使用 PHP div class delete a href i class far fa trash alt i a
  • 值构造函数的别名

    是否可以为值构造函数定义别名 上下文是这样的 我正在编写一个程序 它将原始递归函数实现为图灵机 为此 我正在使用一元整数编码 我的图灵机类型定义如下 definition of a Turing machine data TuringMac
  • WSFederationAuthenticationModule v/s SessionAuthenticationModule

    根据文档 这两个模块都将用于创建 IClaimsPrincipal 的实例 我不明白为什么 WIF 费心使用 2 个 HttpModules 而不是 1 个 抱歉 我是 WIF 新人 最大的区别在于 WSFederationAuthenti
  • 禁用 JShell 历史记录

    默认情况下 JShell 启用所有键入内容的持久历史记录 可以通过按向上箭头来调用 关闭此 功能 的设置在哪里 另外 我如何清除当前历史记录 也许我比较笨 但是我不明白这个命令 reset似乎什么也没做 另外 我如何清除当前历史记录 我提出
  • 为什么用Java VisualVM监控Tomcat时堆空间不断增大?

    我有一个在 Tomcat 中运行的 JRubyOnRails 应用程序 浏览到我的应用程序 localhost 登录然后什么都不做后 堆空间似乎在不断增长 这正常吗 如果我按 执行 GC 它会再次下降 我想知道如果我将其保留到其达到计算机
  • Findbugs android gradle 插件

    我有一个安卓项目 我想介绍findbugs在我的项目中作为 gradle 插件 我尝试编辑项目的build gradle如下 buildscript repositories mavenCentral maven url https mav
  • Intent.EXTRA_EMAIL 未填充“收件人”字段

    我正在尝试使用intent questions tagged intent从我的应用程序发送电子邮件 但电子邮件的 收件人 字段不会填充 如果我添加代码来填写主题或文本 它们就可以正常工作 仅 收件人 字段不会填充 我也尝试将类型更改为 t
  • 从文件中的每一行创建一个字典

    我正在尝试从这个文件创建一个字典 键是第一个单词 值是后面的所有单词 andrew fred fred judy andrew fred george judy andrew john george 这是我的代码 follows file
  • AngularJS - 启用 HTML5 模式页面刷新而不会出现 404 错误 [重复]

    这个问题在这里已经有答案了 我也尝试通过设置 locationProvider html5Mode true 在 ui routing 和 base href 中它删除了哈希值 但在刷新时它给出了404错误 请帮帮我 正如其他人所说 启用
  • 在重复的动态类型部分视图中从匿名类型属性发出 HTML 字符串

    我将匿名类型传递到动态部分视图中作为 model 其中一个属性是包含一些 HTML 的字符串 当我使用HtmlHelper方法来呈现属性 Razor 引擎正在对字符串进行编码 从而在页面上生成文字文本 i text i 在这种情况下 而不是
  • PowerShell 舍入和格式浮点到最多 2 位小数?

    我发现了很多东西可以将浮点数格式化为常见的已知数字 但是如何将浮点数格式化为最多 2 位小数 但前提是需要小数 例子 1 11 not 1 111 1 12 it was 1 116 round up 1 1 not 1 10 1 not
  • 逐行比较 2 个数据帧的随时间分析

    这是我正在使用的数据框的一小部分 以供参考 https i stack imgur com 7fdwL jpg我正在 R 中使用一个数据框 MG53 HanLab 其中有一列时间 几列名称为 MG53 的列 几列名称为 F2 的列以及几列名
  • 有没有办法让 git 忽略整个分支?

    这可能违背了 git 的设计理念 但是 在我的组织中 我不断地删除数千个开发人员分支 例如Dev
  • std 函数 std::_Rb_tree_rebalance_for_erase () 中的分段错误

    请注意未来的读者 不出所料 错误出现在我的代码中 而不是 std Rb tree rebalance for erase 我对编程有点陌生 不确定如何处理似乎来自 std 函数的分段错误 我希望我做了一些愚蠢的事情 即滥用容器 因为我不知道
  • ValidationMessages.properties 文件之间的冲突

    我习惯将所有验证约束收集在一个公共库中 在罐子的根部我放了一个ValidationMessages it properties文件 一切正常 如果我将此库放入 jsf 2 war 项目中 所有验证消息都会正确显示 但是 如果我再放一个 就会
  • JS/CSS 幻灯片效果适用于小提琴,不适用于 html

    我的第一个问题是小提琴不工作 现在它可以工作了 但是如果我将它复制到括号文件中 它就不再工作了 我确实包含了放置在外部资源中的链接 这是小提琴 https jsfiddle net wtbdxx2b 6 https jsfiddle net
  • Python 更新 SQL 数据库时出错

    我有一些看起来像这样的 python 代码 import pypyodbc import pandas as pd home c SQL df pd read sql query sql4 conn3 for y1 in range 0 k
  • 获取已安装服务的版本信息?

    我想以编程方式检查是否安装了最新版本的 Windows 服务 我有 var ctl ServiceController GetServices Where s gt s ServiceName MyService FirstOrDefaul
  • PHP 执行时显示加载图像

    我想在 php 脚本执行时显示加载图像 我读过关于如何做到这一点的不同答案 但大多数人都说我应该有一个单独的 php 页面 但是我使用单页来显示行 那么如何才能显示加载图像 我用来获取数据的选择查询示例 stmt mydb gt prepa
  • 在长字符串中插入换行符——自动换行

    这是我编写的一个函数 用于将长字符串分成不长于给定长度的行 strBreakInLines lt function s breakAt 90 prepend words lt unlist strsplit s if length word