当前位置: 首页 > 知识库问答 >
问题:

如何根据图案替换任意位置的任意字符

史默
2023-03-14

我有如下问题:

输入:string:str=ABCDEFGH,前缀=“_”,位置=3,输出:result=AB_CDE_FGH

输入:string:str=10000000,前缀=“_”,位置=3,输出:result=10_000_000

输入:string:str=10000000,前缀=“_”,位置=2,输出:result=10_00_00_00

fun convertNumberByCharacter(pattern:String,position: Int,characters: String):String{
    val strBuilder = StringBuilder()
    val arr = pattern.toCharArray()
    return if (arr.size>position){
        for (i in 0..arr.size-1){
            if (i%position==0){
                strBuilder.append(characters)
            }
            strBuilder.append(arr[i])
        }
        strBuilder.toString()

    }else{
        pattern
    }
}

注意:在此问题中不能使用DecimalFormat和NumberFormat。

拜托,任何人都可以帮我。谢谢你。

共有1个答案

薛望
2023-03-14

试试这个

val str = "ABCD"
val prefix = "_"
val position = 3
val result = StringBuilder()

val offset = position - str.length % position
for (i in str.indices) {
    if (i != 0 && (i + offset) % position == 0) {
        result.append(prefix)
    }
    result.append(str[i])
}
println(result)

我认为反向字符串然后循环,在某个位置添加前缀,然后再反向也可以解决这个问题

 类似资料:
  • 问题内容: 我有一个要点词典,说: 我想创建一个新字典,其中所有x和y值均小于5的点,即点“ a”,“ b”和“ d”。 根据这本书,每个字典都有该函数,该函数返回一个 元组列表: 所以我写了这个: 有没有更优雅的方式?我期待Python具有一些超棒的功能… 问题答案: 如今,在Python 2.7及更高版本中,您可以使用dict理解: 在Python 3中:

  • 这是一个简单的问题,但请听我说完--Java家庭作业的一部分有一个密码验证器方法。要求是简单的-密码必须在6-10个字符之间,必须只由数字或字母,并必须有至少2个数字在它是有效的。我使用if语句并使用regex实现了这一点,出于某种原因,我无法使非单词字符regex匹配,尽管每个在线regex检查器都显示这应该是有效的,甚至用于regex检查的jetbrains插件也显示这应该是有效的。(我也明白

  • 我是r-plotly的新手,我正在试图弄清楚如何处理不在数据上的点击。似乎使用我可以从数据中获取点上的事件,但到目前为止,我还没有弄清楚如何对不接近数据但仅在绘图白色部分的单击执行此操作。 来自绘图的闪亮点击事件可以做到这一点,我只需要得到点击的x和y。我想要类似的,但情节要详细。 我是否可以将单击事件指定为来自plotly plot上的任意位置,而不仅仅是数据? 编辑:令人惊讶的是,这在plot

  • 当 小数点后15位的数字被证明是错误的。(尽管很高兴给你的数字远远超过15位!) 在Python中,如何获得的十进制扩展中的第一个正确数字?

  • 几天前我开始了Java,并在我从图书馆借来的Java教程中对一些Java代码进行了实验和胡闹。 现在我挑战自己,让字符串出现在小程序中的随机位置。我尝试使用更改字符串的x-y坐标,但变量类型不同,我感到困惑。有没有办法让字符串在我每次打开小程序时出现在随机的地方?(稍后我将使用。awt按钮移动字符串。) 下面是我的代码:

  • 我正在尝试在plotly中实现“单击任意位置”功能,以便在用户单击plotly图表的任意位置时获得坐标。当前的“官方”plotly功能仅在用户单击打印数据点时起作用,但我想注册单击,例如在背景白色画布上。 plotly中闪亮的点击事件可以做到这一点,但令人惊讶的是,plotly中似乎还不存在这种情况。 我做了一些研究,发现下面的代码笔实现非常接近:https://codepen.io/tim-lo